<?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.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>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>
