<?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: Raj Kushawaha</title>
    <description>The latest articles on DEV Community by Raj Kushawaha (@apprider).</description>
    <link>https://dev.to/apprider</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3311628%2F6530d12e-bb21-4451-b65c-589601140e47.jpg</url>
      <title>DEV Community: Raj Kushawaha</title>
      <link>https://dev.to/apprider</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/apprider"/>
    <language>en</language>
    <item>
      <title>I built GemmaPod - A truly composable and portable AI agent solution powered by your local LLM</title>
      <dc:creator>Raj Kushawaha</dc:creator>
      <pubDate>Sun, 24 May 2026 22:23:04 +0000</pubDate>
      <link>https://dev.to/apprider/i-built-gemmapod-a-truly-composable-and-portable-ai-agent-solution-powered-by-your-local-llm-4430</link>
      <guid>https://dev.to/apprider/i-built-gemmapod-a-truly-composable-and-portable-ai-agent-solution-powered-by-your-local-llm-4430</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GemmaPod&lt;/strong&gt; is a composable, portable AI agent platform that packages local Large Language Models into single, signed HTML+JS+WASM files (~960 KB).&lt;/p&gt;

&lt;p&gt;A GemmaPod bundles an AI agent's complete identity, persona, tools, and transport mechanism into one self-contained, tamper-proof capsule. &lt;/p&gt;

&lt;p&gt;It is &lt;strong&gt;composable&lt;/strong&gt; — easily mix different tools, personas, and transports into a single signed file.&lt;br&gt;&lt;br&gt;
It is &lt;strong&gt;portable&lt;/strong&gt; — you can email it, embed it with a single tag, or publish it to a stable URL.&lt;br&gt;&lt;br&gt;
And it speaks MCP and A2A out of the box, allowing your agent to connect to the tools and services it needs, while keeping the intelligence and your data private on your machine or your own deployments.&lt;/p&gt;

&lt;p&gt;When activated, the pod connects back to home your local llm  over &lt;strong&gt;&lt;a href="https://www.dartc.org/" rel="noopener noreferrer"&gt;DARTC&lt;/a&gt;&lt;/strong&gt; — a real-time transport for portable AI agents. DARTC defines a signed, topic-multiplexed message envelope over WebRTC DataChannels (with a WebSocket relay fallback and first-class A2A alignment). It connects to your local LLM/Gemma models or runs entirely in the visitor's browser via WebGPU if the owner is offline.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;Here is the high level architecture&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9lxa1uz97vnjyjyztnf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9lxa1uz97vnjyjyztnf.png" alt=" " width="800" height="483"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Links&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://gemmapod.com/" rel="noopener noreferrer"&gt;gemmapod.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/apprider/gemmapod/" rel="noopener noreferrer"&gt;github.com/apprider/gemmapod&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can test GemmaPod instantly from your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx gemmapod create

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will create a ready-to-use Agent in your present working directory.&lt;br&gt;
Requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have Ollama running locally, OR&lt;/li&gt;
&lt;li&gt;Provide an OpenAI-compatible LLM URL (OpenAI, Groq, Together.ai, or any other compatible endpoint works perfectly for testing)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the pod is created and your LLM is running, simply open the generated signed HTML file in your browser. You can immediately start chatting with the agent.&lt;br&gt;
The Agent comes with all the harness and workflow built-in. Vercel AI SDK is included so you can create complex workflows if needed. You can also couple the Mastra framework to build long sustained, multi-step workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/apprider/gemmapod/" rel="noopener noreferrer"&gt;github.com/apprider/gemmapod&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;Local LLMs are incredibly powerful, but they lacked an effective and secure way to package and publish serious, multi-workflow AI agents as true consumer-grade products.&lt;/p&gt;

&lt;p&gt;We needed a system that could bundle the &lt;strong&gt;complete agent&lt;/strong&gt; — its harness, tools, workflows, persona, and transport — into one single, tamper-proof, cryptographically signed capsule.&lt;/p&gt;

&lt;p&gt;While REST over HTTP revolutionized how we build and ship traditional applications, &lt;strong&gt;DARTC + GemmaPod&lt;/strong&gt; brings that same level of simplicity, security, and portability to locally powered AI agents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live example:&lt;/strong&gt; The intelligent agent that powers the dynamic Hero section on the &lt;a href="https://gemmapod.com/" rel="noopener noreferrer"&gt;GemmaPod website&lt;/a&gt; is actually running live on my Mac Mini right now.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
    </item>
  </channel>
</rss>
