<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abhinav Arnav</title>
    <description>The latest articles on DEV Community by Abhinav Arnav (@abhinav_arnav_8fb1769740e).</description>
    <link>https://dev.to/abhinav_arnav_8fb1769740e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4092650%2F82a806cb-db80-44e9-839d-0fba8eb233f8.jpg</url>
      <title>DEV Community: Abhinav Arnav</title>
      <link>https://dev.to/abhinav_arnav_8fb1769740e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhinav_arnav_8fb1769740e"/>
    <language>en</language>
    <item>
      <title>OmniChat: A Zero-Backend AI Chat PWA with Local AES-GCM Encryption. #showdev, #open-source, #javascript, #ai</title>
      <dc:creator>Abhinav Arnav</dc:creator>
      <pubDate>Mon, 24 Aug 2026 16:17:09 +0000</pubDate>
      <link>https://dev.to/abhinav_arnav_8fb1769740e/omnichat-a-zero-backend-ai-chat-pwa-with-local-aes-gcm-encryption-showdev-open-source-26ob</link>
      <guid>https://dev.to/abhinav_arnav_8fb1769740e/omnichat-a-zero-backend-ai-chat-pwa-with-local-aes-gcm-encryption-showdev-open-source-26ob</guid>
      <description>&lt;p&gt;Hey everyone! 👋 &lt;/p&gt;

&lt;p&gt;I wanted to share a project I've been working on called &lt;strong&gt;OmniChat&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;I built it because I wanted a lightweight, unified web client to test different LLM providers (like Gemini, Groq, Anthropic, and others) without routing my personal API keys or chat logs through an unknown third-party backend server.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/abhinavarnav314-collab/OMNICHAT4" rel="noopener noreferrer"&gt;https://github.com/abhinavarnav314-collab/OMNICHAT4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://abhinavarnav314-collab.github.io/OMNICHAT4/" rel="noopener noreferrer"&gt;https://abhinavarnav314-collab.github.io/OMNICHAT4/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  How It Works &amp;amp; Architecture
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero Backend:&lt;/strong&gt; The application is entirely client-side. It is built as a Progressive Web App (PWA) using React, TypeScript, and Vite. There is no central server handling user data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client-Side Encryption:&lt;/strong&gt; All API keys are securely encrypted and stored locally in the browser's IndexedDB using &lt;strong&gt;AES-GCM&lt;/strong&gt;. Your credentials never touch an external server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct Browser Endpoints:&lt;/strong&gt; Supports direct integration with providers that allow browser-side requests (such as Google Gemini and Groq).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Model Comparison:&lt;/strong&gt; Test and compare responses side-by-side.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Prompt Vault:&lt;/strong&gt; Store and version reusable prompts directly in your browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline Ready:&lt;/strong&gt; Utilizes a Service Worker to cache assets so the app functions reliably offline.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  What I'd Love Feedback On
&lt;/h3&gt;

&lt;p&gt;Since this is heavily focused on privacy and client-side execution, I would love technical critiques or suggestions regarding:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The security model for handling local browser encryption storage (IndexedDB + AES-GCM).&lt;/li&gt;
&lt;li&gt;Edge cases with PWA caching and service worker lifecycle management.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Try out the live demo, take a look at the code, and let me know what you think! All feedback and contributions are welcome. 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
