<?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: sumeet saraf</title>
    <description>The latest articles on DEV Community by sumeet saraf (@sumeet_ingenuity).</description>
    <link>https://dev.to/sumeet_ingenuity</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%2F3130512%2Fdf6f2f31-807c-432c-a51f-29f8885465cc.png</url>
      <title>DEV Community: sumeet saraf</title>
      <link>https://dev.to/sumeet_ingenuity</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sumeet_ingenuity"/>
    <language>en</language>
    <item>
      <title>Building an AI Runtime Operating System for Commodity Hardware (UGR)</title>
      <dc:creator>sumeet saraf</dc:creator>
      <pubDate>Wed, 22 Jul 2026 07:46:47 +0000</pubDate>
      <link>https://dev.to/sumeet_ingenuity/building-an-ai-runtime-operating-system-for-commodity-hardware-ugr-4co4</link>
      <guid>https://dev.to/sumeet_ingenuity/building-an-ai-runtime-operating-system-for-commodity-hardware-ugr-4co4</guid>
      <description>&lt;h1&gt;
  
  
  Building an AI Runtime Operating System for Commodity Hardware
&lt;/h1&gt;

&lt;p&gt;For the last few months I've been working on something that started as a simple question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why do we still treat AI inference as "load an entire model into GPU memory and hope it fits"?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;My development machine certainly doesn't make life easy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dell Precision 5520&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NVIDIA Quadro M1200&lt;/strong&gt; (4 GB VRAM)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;32 GB RAM&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ubuntu&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Like many developers experimenting with open-source LLMs, I quickly ran into the same wall everyone eventually hits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CUDA Out of Memory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At first I assumed the answer was simply "buy a bigger GPU."&lt;/p&gt;

&lt;p&gt;But after digging through projects like llama.cpp, Ollama, TensorRT-LLM, Colibri, and various memory streaming experiments, I started wondering whether we were solving the wrong problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem Isn't Just Memory
&lt;/h2&gt;

&lt;p&gt;Most inference engines think about execution like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Application
    ↓
Inference Engine
    ↓
GPU
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the model fits, great.&lt;/p&gt;

&lt;p&gt;If it doesn't...&lt;/p&gt;

&lt;p&gt;You're usually done.&lt;/p&gt;

&lt;p&gt;Modern runtimes have become incredibly efficient, but they're still primarily focused on executing tensors as quickly as possible.&lt;/p&gt;

&lt;p&gt;What if we instead treated inference more like an operating system treats processes and memory?&lt;/p&gt;

&lt;h2&gt;
  
  
  From Runtime to Runtime OS
&lt;/h2&gt;

&lt;p&gt;That idea eventually became UGR.&lt;/p&gt;

&lt;p&gt;Instead of replacing inference engines like llama.cpp, UGR sits above them as an orchestration layer.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Application
    │
OpenAI-Compatible API
    │
Planner
    │
Runtime Intelligence Engine
    │
Scheduler
    │
Virtual Resource Manager
    │
Adaptive Memory Fabric
    │
Driver Abstraction Layer
    │
llama.cpp / TensorRT / Vulkan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The execution backend becomes interchangeable.&lt;/p&gt;

&lt;p&gt;The runtime becomes responsible for deciding how execution should happen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Ideas
&lt;/h2&gt;

&lt;p&gt;Rather than managing a single GGUF file, UGR treats AI workloads as collections of resources.&lt;/p&gt;

&lt;p&gt;That includes things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tensors&lt;/li&gt;
&lt;li&gt;KV cache&lt;/li&gt;
&lt;li&gt;MoE experts&lt;/li&gt;
&lt;li&gt;Embeddings&lt;/li&gt;
&lt;li&gt;LoRA adapters&lt;/li&gt;
&lt;li&gt;Execution state&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These resources can move between different memory tiers depending on runtime conditions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VRAM
  ↓
RAM
  ↓
NVMe
  ↓
Remote Storage
  ↓
Archive
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Can this model fit into VRAM?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The runtime asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How should these resources be orchestrated across available hardware?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Hardware Shouldn't Dictate Capability
&lt;/h2&gt;

&lt;p&gt;One thing I kept running into was that modern AI software often assumes modern hardware.&lt;/p&gt;

&lt;p&gt;Reality is different.&lt;/p&gt;

&lt;p&gt;There are countless developers, researchers, universities, and small teams running inference on older GPUs or mixed hardware environments.&lt;/p&gt;

&lt;p&gt;Rather than optimizing for a single GPU architecture, I wanted UGR to detect hardware capabilities and adapt its execution strategy accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Simulation Before Execution
&lt;/h2&gt;

&lt;p&gt;One feature I'm particularly excited about is the simulation engine.&lt;/p&gt;

&lt;p&gt;Instead of loading a model and hoping for the best:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ugr simulate gemma-4-31b.gguf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The runtime predicts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expected memory usage&lt;/li&gt;
&lt;li&gt;Estimated throughput&lt;/li&gt;
&lt;li&gt;Bottlenecks&lt;/li&gt;
&lt;li&gt;Scheduler choice&lt;/li&gt;
&lt;li&gt;Whether the model is even runnable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...before execution begins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;p&gt;UGR is still very much a research project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Currently implemented:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-backend runtime&lt;/li&gt;
&lt;li&gt;GGUF parser&lt;/li&gt;
&lt;li&gt;Adaptive Memory Fabric&lt;/li&gt;
&lt;li&gt;Virtual Resource Manager&lt;/li&gt;
&lt;li&gt;OpenAI-compatible API&lt;/li&gt;
&lt;li&gt;Hardware capability detection&lt;/li&gt;
&lt;li&gt;CLI tools&lt;/li&gt;
&lt;li&gt;Model registry&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Still under active development:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runtime Intelligence Engine&lt;/li&gt;
&lt;li&gt;Simulation engine improvements&lt;/li&gt;
&lt;li&gt;MoE expert paging integration&lt;/li&gt;
&lt;li&gt;TensorRT backend&lt;/li&gt;
&lt;li&gt;Vulkan backend&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Open Source?
&lt;/h2&gt;

&lt;p&gt;I decided to open source the project because I don't believe architectures improve in isolation.&lt;/p&gt;

&lt;p&gt;I also don't have access to high-end hardware.&lt;/p&gt;

&lt;p&gt;Most of my development has been on a machine with a 4 GB Quadro GPU, so I would love feedback from people running larger GPUs or heterogeneous systems.&lt;/p&gt;

&lt;p&gt;If nothing else, I hope some of the ideas around resource virtualization and runtime orchestration spark interesting discussions.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub
&lt;/h2&gt;

&lt;p&gt;⭐ &lt;strong&gt;UGR (AI Runtime Operating System)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/UGEM-io/UGR" rel="noopener noreferrer"&gt;https://github.com/UGEM-io/UGR&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd genuinely appreciate feedback, bug reports, architectural criticism, or ideas for improving the runtime.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;When I started this project, I thought I was trying to solve a memory problem.&lt;/p&gt;

&lt;p&gt;Today I think I'm trying to solve a runtime orchestration problem.&lt;/p&gt;

&lt;p&gt;Whether UGR ultimately becomes a useful research platform or something more, I'm excited to see where the community takes it.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>go</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>AMTP: HTTP for the Agentic Web — A New Markdown-First Protocol for AI Agents</title>
      <dc:creator>sumeet saraf</dc:creator>
      <pubDate>Tue, 26 May 2026 19:06:53 +0000</pubDate>
      <link>https://dev.to/sumeet_ingenuity/amtp-http-for-the-agentic-web-a-new-markdown-first-protocol-for-ai-agents-p5i</link>
      <guid>https://dev.to/sumeet_ingenuity/amtp-http-for-the-agentic-web-a-new-markdown-first-protocol-for-ai-agents-p5i</guid>
      <description>&lt;p&gt;The web was built for humans. But AI agents are struggling with it.&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%2Fhk0ugrmrljm97f5xh0ez.jpg" 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%2Fhk0ugrmrljm97f5xh0ez.jpg" alt="AMTP agent markdown transfer protocol" width="784" height="1168"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Traditional approaches — DOM parsing, headless browsers, or forcing LLMs to read raw HTML — are &lt;strong&gt;brittle, expensive, and token-heavy&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Today, I'm open-sourcing &lt;strong&gt;AMTP (Agent Markdown Transfer Protocol)&lt;/strong&gt; — a new protocol designed as &lt;strong&gt;HTTP for the Agentic Web&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;AI agents today face several major challenges when interacting with websites:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Extremely high token usage&lt;/strong&gt; when processing full HTML pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Brittle scraping&lt;/strong&gt; that breaks with any UI change&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No native action support&lt;/strong&gt; — agents must simulate clicks and forms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Poor session handling&lt;/strong&gt; for authenticated actions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lack of real-time updates&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We need a better way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing AMTP
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AMTP&lt;/strong&gt; allows websites to serve &lt;strong&gt;clean, semantic Markdown&lt;/strong&gt; optimized for Large Language Models and autonomous agents, alongside their normal HTML and JSON responses.&lt;/p&gt;

&lt;p&gt;It uses content negotiation (&lt;code&gt;Accept: text/amtp&lt;/code&gt;) so one backend can serve all three consumers: browsers, APIs, and agents.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;~90% fewer tokens&lt;/strong&gt; compared to HTML&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native actions, forms, and navigation&lt;/strong&gt; (hypermedia style)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in session &amp;amp; authentication bridging&lt;/strong&gt; (works with your existing Passport, JWT, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming support&lt;/strong&gt; for real-time updates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security-first&lt;/strong&gt; design with scopes and validation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy integration&lt;/strong&gt; via Express/Fastify middleware&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;Here's a quick example using the AMTP middleware:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;amtp&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@amtp/protocol&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;express&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;express&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;amtp&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="c1"&gt;// Define what agents can see and do&lt;/span&gt;
  &lt;span class="na"&gt;routes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/dashboard&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;User Dashboard&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Welcome back, {{user.name}}&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;actions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;view_orders&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;View My Orders&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;href&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/orders&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From the agent side, the response is clean Markdown with embedded action metadata — perfect for LLMs to understand and act upon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Real-World Use Cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agent-native SaaS platforms&lt;/strong&gt; (Let users say “cancel my subscription” to their AI assistant)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;E-commerce agents&lt;/strong&gt; that can reliably browse and purchase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal automation agents&lt;/strong&gt; that work with your existing logged-in sessions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-agent workflows&lt;/strong&gt; across different websites&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Efficient crawling and indexing&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Raw HTML&lt;/th&gt;
&lt;th&gt;JSON API&lt;/th&gt;
&lt;th&gt;AMTP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Token Efficiency&lt;/td&gt;
&lt;td&gt;Poor&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Action Support&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;td&gt;Native&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Session/Auth Bridging&lt;/td&gt;
&lt;td&gt;Hard&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;Built-in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LLM Readability&lt;/td&gt;
&lt;td&gt;Poor&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Streaming&lt;/td&gt;
&lt;td&gt;Difficult&lt;/td&gt;
&lt;td&gt;Possible&lt;/td&gt;
&lt;td&gt;Native&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; @amtp/protocol
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Visit the repository for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full protocol specification&lt;/li&gt;
&lt;li&gt;Grammar and examples&lt;/li&gt;
&lt;li&gt;Client SDK&lt;/li&gt;
&lt;li&gt;Reference implementations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sumeetingenuity/amtp" rel="noopener noreferrer"&gt;https://github.com/sumeetingenuity/amtp&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Vision
&lt;/h2&gt;

&lt;p&gt;AMTP is an early but functional step toward a truly &lt;strong&gt;agent-ready web&lt;/strong&gt; — where any website can become natively compatible with AI agents without sacrificing control or security.&lt;/p&gt;

&lt;p&gt;I’d love your feedback, contributions, and real-world use cases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s the biggest pain point you face when building agents that interact with websites?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
      <category>protocol</category>
    </item>
    <item>
      <title>"Building a Lightweight Blockchain in Go from Scratch"</title>
      <dc:creator>sumeet saraf</dc:creator>
      <pubDate>Fri, 09 May 2025 16:52:19 +0000</pubDate>
      <link>https://dev.to/sumeet_ingenuity/building-a-lightweight-blockchain-in-go-from-scratch-4i85</link>
      <guid>https://dev.to/sumeet_ingenuity/building-a-lightweight-blockchain-in-go-from-scratch-4i85</guid>
      <description>&lt;p&gt;Hey Gophers and blockchain enthusiasts! 👋&lt;/p&gt;

&lt;p&gt;I recently built Lite-Blockchain, a minimal yet functional blockchain implementation in Go. The goal was to demystify how blockchains work under the hood while leveraging Go’s simplicity and concurrency features. Let me walk you through what I learned!&lt;/p&gt;

&lt;p&gt;Why Build a Blockchain in Go?&lt;br&gt;
Go’s native support for concurrency (goroutines, channels) and efficient performance makes it a great fit for distributed systems like blockchains. Plus, its simplicity helps keep the codebase clean and educational.&lt;/p&gt;

&lt;p&gt;Key Features&lt;br&gt;
Proof-of-Work (PoW) Consensus: A Simple mining mechanism to secure the chain.&lt;/p&gt;

&lt;p&gt;Transaction System: Create and validate transactions.&lt;/p&gt;

&lt;p&gt;Pure Go: No external dependencies—just the standard library.&lt;/p&gt;

&lt;p&gt;Lightweight: Perfect for learning.&lt;/p&gt;

&lt;p&gt;Code Snippets&lt;br&gt;
Here’s a peek at how blocks are structured:&lt;/p&gt;

&lt;p&gt;go&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type Block struct {  
    Timestamp    int64  
    Transactions []*Transaction  
    PrevHash     []byte  
    Hash         []byte  
    Nonce        int  
}  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And how transactions are added:&lt;/p&gt;

&lt;p&gt;go&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;func (bc *Blockchain) AddTransaction(sender, recipient string, amount int) {  
    tx := NewTransaction(sender, recipient, amount)  
    bc.PendingTransactions = append(bc.PendingTransactions, tx)  
}  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why Go for Blockchain?&lt;br&gt;
Concurrency: Goroutines make parallel mining or network synchronization easier to model.&lt;/p&gt;

&lt;p&gt;Performance: Faster than interpreted languages like Python.&lt;/p&gt;

&lt;p&gt;Simplicity: Explicit error handling and no inheritance headaches.&lt;/p&gt;

&lt;p&gt;Try It Out!&lt;br&gt;
Clone the repo:&lt;/p&gt;

&lt;p&gt;bash&lt;br&gt;
git clone &lt;a href="https://github.com/sumeetingenuity/Lite-Blockchain.git" rel="noopener noreferrer"&gt;https://github.com/sumeetingenuity/Lite-Blockchain.git&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Run the example:&lt;/p&gt;

&lt;p&gt;bash&lt;br&gt;
go run main.go&lt;br&gt;&lt;br&gt;
Contribute or Learn&lt;br&gt;
This project is open-source and meant to be a learning resource! Feel free to:&lt;br&gt;
⭐ Star the repo if you find it useful.&lt;br&gt;
🐞 Open issues for bugs or feature requests.&lt;br&gt;
🔧 Submit PRs for improvements (e.g., adding a P2P network layer).&lt;/p&gt;

&lt;p&gt;Check out the GitHub repo to dive deeper!&lt;/p&gt;

</description>
      <category>go</category>
      <category>blockchain</category>
      <category>opensource</category>
      <category>distributedsystems</category>
    </item>
    <item>
      <title>I'm looking for some feedback on my project</title>
      <dc:creator>sumeet saraf</dc:creator>
      <pubDate>Wed, 07 May 2025 17:43:45 +0000</pubDate>
      <link>https://dev.to/sumeet_ingenuity/im-looking-for-some-feedback-on-my-project-1n3p</link>
      <guid>https://dev.to/sumeet_ingenuity/im-looking-for-some-feedback-on-my-project-1n3p</guid>
      <description>&lt;p&gt;I'm new to programming and not sure if I'm heading in the right direction. I'd really appreciate any feedback or constructive criticism on my project. Thanks in advance for your help!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/sumeetingenuity/Lite-Blockchain.git" rel="noopener noreferrer"&gt;https://github.com/sumeetingenuity/Lite-Blockchain.git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>beginners</category>
      <category>programming</category>
      <category>github</category>
    </item>
  </channel>
</rss>
