<?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: Akash Santra</title>
    <description>The latest articles on DEV Community by Akash Santra (@akash_santra_3c96613546c6).</description>
    <link>https://dev.to/akash_santra_3c96613546c6</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%2F3845534%2F7776dc1e-dab5-433e-ab5b-1defb9cc9839.jpg</url>
      <title>DEV Community: Akash Santra</title>
      <link>https://dev.to/akash_santra_3c96613546c6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akash_santra_3c96613546c6"/>
    <language>en</language>
    <item>
      <title>Fixing AI Observability: How I Added GenAI Semantic Support for RAG Embedding Spans in Mastra</title>
      <dc:creator>Akash Santra</dc:creator>
      <pubDate>Wed, 17 Jun 2026 12:51:08 +0000</pubDate>
      <link>https://dev.to/akash_santra_3c96613546c6/fixing-ai-observability-how-i-added-genai-semantic-support-for-rag-embedding-spans-in-mastra-4db9</link>
      <guid>https://dev.to/akash_santra_3c96613546c6/fixing-ai-observability-how-i-added-genai-semantic-support-for-rag-embedding-spans-in-mastra-4db9</guid>
      <description>&lt;p&gt;OpenTelemetry has become the standard for observing modern systems.&lt;/p&gt;

&lt;p&gt;But when you start building AI applications, traditional traces aren't enough.&lt;/p&gt;

&lt;p&gt;You don't just want to know that a request happened.&lt;/p&gt;

&lt;p&gt;You want to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which model generated the output?&lt;/li&gt;
&lt;li&gt;Which provider was used?&lt;/li&gt;
&lt;li&gt;How many tokens were consumed?&lt;/li&gt;
&lt;li&gt;What embedding model processed the documents?&lt;/li&gt;
&lt;li&gt;How much did the operation cost?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions become even more important when building Retrieval-Augmented Generation (RAG) systems.&lt;/p&gt;

&lt;p&gt;Recently while contributing to Mastra, I discovered an observability gap involving RAG embedding operations.&lt;/p&gt;

&lt;p&gt;This led me to open a pull request that introduced proper OpenTelemetry GenAI semantic mappings for RAG_EMBEDDING spans.&lt;/p&gt;

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

&lt;p&gt;Mastra already exported rich metadata for several AI operations.&lt;/p&gt;

&lt;p&gt;However, RAG embedding spans were missing standardized GenAI semantic attributes.&lt;/p&gt;

&lt;p&gt;As a result, observability tools could see that an embedding operation occurred, but they couldn't easily understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model information&lt;/li&gt;
&lt;li&gt;Provider information&lt;/li&gt;
&lt;li&gt;Token usage&lt;/li&gt;
&lt;li&gt;Embedding-specific metadata&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without standardized semantic conventions, dashboards and tracing systems lose valuable context.&lt;/p&gt;

&lt;p&gt;This becomes a bigger issue in production environments where teams need visibility into AI workloads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding RAG Embedding Spans
&lt;/h2&gt;

&lt;p&gt;A typical RAG pipeline looks 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;Documents
    ↓
Chunking
    ↓
Embedding Model
    ↓
Vector Database
    ↓
Similarity Search
    ↓
LLM Generation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The embedding stage is critical.&lt;/p&gt;

&lt;p&gt;Every document chunk gets transformed into a vector representation.&lt;/p&gt;

&lt;p&gt;If observability data from this stage is incomplete, debugging performance issues becomes significantly harder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why OpenTelemetry Semantic Conventions Matter
&lt;/h2&gt;

&lt;p&gt;OpenTelemetry doesn't just define traces.&lt;/p&gt;

&lt;p&gt;It also defines semantic conventions.&lt;/p&gt;

&lt;p&gt;These conventions create a common language for telemetry data.&lt;/p&gt;

&lt;p&gt;Instead of every framework inventing custom field names, everyone follows the same standard.&lt;/p&gt;

&lt;p&gt;For GenAI workloads this means tools can automatically understand attributes such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gen_ai.system
gen_ai.request.model
gen_ai.response.model
gen_ai.usage.input_tokens
gen_ai.usage.output_tokens
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Standardization enables better interoperability across platforms and observability vendors.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix
&lt;/h2&gt;

&lt;p&gt;The goal was straightforward:&lt;/p&gt;

&lt;p&gt;Map RAG embedding telemetry data to OpenTelemetry's GenAI semantic conventions.&lt;/p&gt;

&lt;p&gt;The implementation included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exporting embedding model metadata&lt;/li&gt;
&lt;li&gt;Exporting provider information&lt;/li&gt;
&lt;li&gt;Mapping token usage metrics&lt;/li&gt;
&lt;li&gt;Aligning span attributes with OpenTelemetry standards&lt;/li&gt;
&lt;li&gt;Preserving compatibility with existing tracing infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows downstream observability systems to understand embedding operations without requiring custom integrations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters for AI Engineers
&lt;/h2&gt;

&lt;p&gt;As AI applications become more complex, observability becomes a first-class requirement.&lt;/p&gt;

&lt;p&gt;Production AI systems need answers to questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which embedding model is causing latency spikes?&lt;/li&gt;
&lt;li&gt;Which provider generates the highest cost?&lt;/li&gt;
&lt;li&gt;How many tokens are consumed during indexing?&lt;/li&gt;
&lt;li&gt;Which retrieval operations are failing?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without standardized telemetry, these questions become difficult to answer.&lt;/p&gt;

&lt;p&gt;With proper semantic conventions, observability tools can surface these insights automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons From Open Source
&lt;/h2&gt;

&lt;p&gt;One thing I enjoy about open source is that small improvements often have larger impacts than expected.&lt;/p&gt;

&lt;p&gt;This wasn't a flashy feature.&lt;/p&gt;

&lt;p&gt;Users won't notice it immediately.&lt;/p&gt;

&lt;p&gt;But maintainers, platform engineers, and teams operating AI workloads will benefit from more accurate telemetry and better visibility into their systems.&lt;/p&gt;

&lt;p&gt;These kinds of contributions taught me an important lesson:&lt;/p&gt;

&lt;p&gt;Not every valuable contribution adds new functionality.&lt;/p&gt;

&lt;p&gt;Sometimes the most impactful improvements make existing systems easier to understand, monitor, and operate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;AI infrastructure is evolving rapidly.&lt;/p&gt;

&lt;p&gt;Frameworks, observability platforms, and standards are all maturing at the same time.&lt;/p&gt;

&lt;p&gt;Contributing to these ecosystems provides a unique opportunity to learn how modern AI systems work under the hood.&lt;/p&gt;

&lt;p&gt;For me, this contribution was another reminder that reading unfamiliar codebases often leads to discovering interesting problems.&lt;/p&gt;

&lt;p&gt;And occasionally, solving one of those problems helps improve the developer experience for everyone else.&lt;/p&gt;

&lt;p&gt;If you're contributing to AI infrastructure projects, don't overlook observability.&lt;/p&gt;

&lt;p&gt;The best AI systems aren't just intelligent.&lt;/p&gt;

&lt;p&gt;They're observable too.&lt;/p&gt;




&lt;p&gt;GitHub: &lt;a href="https://github.com/Akash504-ai" rel="noopener noreferrer"&gt;https://github.com/Akash504-ai&lt;/a&gt;&lt;br&gt;
Open Source Contributor | Backend Engineering | AI Systems | OSS&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>opentelemetry</category>
      <category>observability</category>
    </item>
    <item>
      <title>How I Finally Finished My Unfinished Chat App with GitHub Copilot</title>
      <dc:creator>Akash Santra</dc:creator>
      <pubDate>Fri, 05 Jun 2026 06:46:26 +0000</pubDate>
      <link>https://dev.to/akash_santra_3c96613546c6/how-i-finally-finished-my-unfinished-chat-app-with-github-copilot-3e13</link>
      <guid>https://dev.to/akash_santra_3c96613546c6/how-i-finally-finished-my-unfinished-chat-app-with-github-copilot-3e13</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the *&lt;/em&gt;&lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;*&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;PASO is a real-time chat platform inspired by apps like WhatsApp, Discord, and Slack.&lt;/p&gt;

&lt;p&gt;It supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time messaging&lt;/li&gt;
&lt;li&gt;Group chats&lt;/li&gt;
&lt;li&gt;Voice and video calling&lt;/li&gt;
&lt;li&gt;AI-powered moderation&lt;/li&gt;
&lt;li&gt;OTP-based password recovery&lt;/li&gt;
&lt;li&gt;Admin dashboard&lt;/li&gt;
&lt;li&gt;Redis-powered Socket.IO scaling&lt;/li&gt;
&lt;li&gt;Machine Learning integration using FastAPI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I originally started this project as a way to learn full-stack development and distributed systems. Like many side projects, it reached a point where the core features worked, but there were still many unfinished parts, missing documentation, incomplete testing, and several production-level improvements that I wanted to add.&lt;/p&gt;

&lt;p&gt;The GitHub Finish-Up-A-Thon gave me the perfect reason to come back and finally finish it properly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Live Demo
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://chat-app-sooty-mu.vercel.app" rel="noopener noreferrer"&gt;https://chat-app-sooty-mu.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/CodePlaygroundHub/paso-chat-app" rel="noopener noreferrer"&gt;https://github.com/CodePlaygroundHub/paso-chat-app&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/CodePlaygroundHub/paso-chat-app/blob/main/docs/SCREENSHOTS.md" rel="noopener noreferrer"&gt;https://github.com/CodePlaygroundHub/paso-chat-app/blob/main/docs/SCREENSHOTS.md&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Application Preview
&lt;/h2&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%2Fge161zksc5y81b1aru1j.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%2Fge161zksc5y81b1aru1j.png" alt=" " width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&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%2Ffdir62djqytmv9kcuvqy.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%2Ffdir62djqytmv9kcuvqy.png" alt=" " width="800" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One thing I like about this graph is that it tells the story better than I can.&lt;/p&gt;

&lt;p&gt;I started PASO earlier as a learning project and made steady progress for a while. Like many side projects, it eventually slowed down and sat unfinished.&lt;/p&gt;

&lt;p&gt;The GitHub Finish-Up-A-Thon gave me a reason to come back to it.&lt;/p&gt;

&lt;p&gt;The spike in contributions during May reflects the work that went into finally completing the missing pieces: Redis scaling, OTP password recovery, testing improvements, documentation, roadmap planning, and overall project polish.&lt;/p&gt;

&lt;p&gt;What started as "I'll come back to this someday" turned into a project I was finally proud to share publicly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Before
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Basic chat functionality&lt;/li&gt;
&lt;li&gt;Limited documentation&lt;/li&gt;
&lt;li&gt;Minimal test coverage&lt;/li&gt;
&lt;li&gt;Single-instance Socket.IO setup&lt;/li&gt;
&lt;li&gt;Missing password recovery flow&lt;/li&gt;
&lt;li&gt;Several unfinished project docs&lt;/li&gt;
&lt;li&gt;No clear future roadmap&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What I Added
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Redis Horizontal Scaling
&lt;/h4&gt;

&lt;p&gt;One of the biggest upgrades was adding Redis support for Socket.IO.&lt;/p&gt;

&lt;p&gt;This allowed the application to move beyond a single server setup and support communication across multiple instances using Redis Pub/Sub.&lt;/p&gt;

&lt;p&gt;Working on this taught me a lot about distributed systems and real-time communication.&lt;/p&gt;

&lt;h4&gt;
  
  
  OTP Password Recovery
&lt;/h4&gt;

&lt;p&gt;I implemented a complete OTP-based password recovery system.&lt;/p&gt;

&lt;p&gt;Users can now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request password reset codes&lt;/li&gt;
&lt;li&gt;Verify OTPs&lt;/li&gt;
&lt;li&gt;Securely update passwords&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This made the authentication flow much more realistic and production-ready.&lt;/p&gt;

&lt;h4&gt;
  
  
  Testing Improvements
&lt;/h4&gt;

&lt;p&gt;I spent a lot of time improving tests across the project.&lt;/p&gt;

&lt;p&gt;I added and expanded tests for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Messaging&lt;/li&gt;
&lt;li&gt;Groups&lt;/li&gt;
&lt;li&gt;Admin functionality&lt;/li&gt;
&lt;li&gt;Middleware&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gave me much more confidence when making changes.&lt;/p&gt;

&lt;h4&gt;
  
  
  Documentation Overhaul
&lt;/h4&gt;

&lt;p&gt;A huge part of this challenge was finishing the documentation.&lt;/p&gt;

&lt;p&gt;I added and improved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture documentation&lt;/li&gt;
&lt;li&gt;Deployment guides&lt;/li&gt;
&lt;li&gt;Scaling documentation&lt;/li&gt;
&lt;li&gt;Testing guides&lt;/li&gt;
&lt;li&gt;Security documentation&lt;/li&gt;
&lt;li&gt;Roadmap planning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was to make the project easier for future contributors to understand and use.&lt;/p&gt;

&lt;h4&gt;
  
  
  Roadmap &amp;amp; Future Planning
&lt;/h4&gt;

&lt;p&gt;I also completely updated the roadmap to better reflect where the project is today and where it can go in the future.&lt;/p&gt;

&lt;p&gt;Future plans include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;End-to-End Encryption&lt;/li&gt;
&lt;li&gt;Mobile Applications&lt;/li&gt;
&lt;li&gt;Enterprise Features&lt;/li&gt;
&lt;li&gt;Multi-region Scaling&lt;/li&gt;
&lt;li&gt;Plugin Ecosystem&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Community Response
&lt;/h3&gt;

&lt;p&gt;One thing that surprised me was seeing people actually use and interact with the project.&lt;/p&gt;

&lt;p&gt;After sharing PASO publicly and documenting the development journey, the project received:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;5,000+ LinkedIn post views&lt;/li&gt;
&lt;li&gt;8 GitHub stars&lt;/li&gt;
&lt;li&gt;7 GitHub forks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Posts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7441348793234735104/" rel="noopener noreferrer"&gt;Building PASO - Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7462322432427859968/" rel="noopener noreferrer"&gt;Building PASO - Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a student-built open source project, that was incredibly motivating and reminded me why finishing projects matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot played a huge role throughout this project. I didn't use it to blindly generate code.&lt;/p&gt;

&lt;p&gt;Instead, I used it as a development partner.&lt;/p&gt;

&lt;h3&gt;
  
  
  Where Copilot Helped Most
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Boilerplate Code
&lt;/h4&gt;

&lt;p&gt;Copilot helped generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Controllers&lt;/li&gt;
&lt;li&gt;Routes&lt;/li&gt;
&lt;li&gt;Middleware&lt;/li&gt;
&lt;li&gt;Database models&lt;/li&gt;
&lt;li&gt;API handlers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This saved a lot of repetitive work.&lt;/p&gt;

&lt;h4&gt;
  
  
  Testing
&lt;/h4&gt;

&lt;p&gt;One of the biggest benefits was test generation.&lt;/p&gt;

&lt;p&gt;Copilot helped me create test cases much faster, which encouraged me to write more tests than I normally would.&lt;/p&gt;

&lt;h4&gt;
  
  
  Debugging
&lt;/h4&gt;

&lt;p&gt;While implementing Redis scaling and authentication features, Copilot was extremely useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explaining errors&lt;/li&gt;
&lt;li&gt;Suggesting fixes&lt;/li&gt;
&lt;li&gt;Identifying edge cases&lt;/li&gt;
&lt;li&gt;Reviewing implementation ideas&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Documentation
&lt;/h4&gt;

&lt;p&gt;A large portion of the documentation improvements were accelerated with Copilot.&lt;/p&gt;

&lt;p&gt;It helped me structure technical documentation, explain architecture decisions, and improve overall clarity.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I Learned
&lt;/h3&gt;

&lt;p&gt;The biggest lesson from this project is that finishing a project requires a different mindset than starting one.&lt;/p&gt;

&lt;p&gt;Building features is fun.&lt;/p&gt;

&lt;p&gt;Writing tests, improving documentation, fixing edge cases, and polishing the developer experience is where real software engineering happens.&lt;/p&gt;

&lt;p&gt;GitHub Copilot helped me spend less time on repetitive tasks and more time learning system design, architecture, and problem solving.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;PASO started as a learning project.&lt;/p&gt;

&lt;p&gt;This challenge pushed me to turn it into something much closer to a real production-ready application.&lt;/p&gt;

&lt;p&gt;More importantly, it reminded me that unfinished projects still have value.&lt;/p&gt;

&lt;p&gt;Sometimes the hardest part isn't building a project.&lt;/p&gt;

&lt;p&gt;It's coming back and finishing it.&lt;/p&gt;

&lt;p&gt;For me, that's what this challenge was really about.&lt;/p&gt;

&lt;p&gt;Thanks GitHub and DEV for creating a challenge that encouraged builders to finish what they started. ❤️&lt;/p&gt;

&lt;p&gt;If you'd like to check out the project, feedback and contributions are always welcome.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;⭐ Project Repository: &lt;a href="https://github.com/CodePlaygroundHub/paso-chat-app" rel="noopener noreferrer"&gt;https://github.com/CodePlaygroundHub/paso-chat-app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/Akash504-ai" rel="noopener noreferrer"&gt;https://github.com/Akash504-ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/akash-santra-5823b42a6/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/akash-santra-5823b42a6/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;X (Twitter): &lt;a href="https://x.com/akashsantra999" rel="noopener noreferrer"&gt;https://x.com/akashsantra999&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>githubcopilot</category>
      <category>opensource</category>
    </item>
    <item>
      <title># Why Hermes Agent Feels Different From Most AI Agent Frameworks</title>
      <dc:creator>Akash Santra</dc:creator>
      <pubDate>Sat, 30 May 2026 02:25:50 +0000</pubDate>
      <link>https://dev.to/akash_santra_3c96613546c6/-why-hermes-agent-feels-different-from-most-ai-agent-frameworks-4cg3</link>
      <guid>https://dev.to/akash_santra_3c96613546c6/-why-hermes-agent-feels-different-from-most-ai-agent-frameworks-4cg3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the Hermes Agent Challenge&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Over the last year, I've been obsessed with building AI-powered systems. From experimenting with LLM applications to contributing to open source and building real-world products, I've spent countless hours trying to understand what separates a simple chatbot from a genuinely useful AI system.&lt;/p&gt;

&lt;p&gt;While exploring different agent frameworks, I came across Hermes Agent. At first glance, it looked like another entry in the rapidly growing "AI agents" space. But after digging deeper, I realized it was aiming at a much more interesting problem: creating agents that can learn, remember, and become more useful over time.&lt;/p&gt;

&lt;p&gt;That's why Hermes Agent immediately caught my attention.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Most AI Agents
&lt;/h2&gt;

&lt;p&gt;A lot of AI projects today stop at the "chat" stage.&lt;/p&gt;

&lt;p&gt;They can answer questions, generate content, or call a few tools, but they often struggle when a task requires persistence, planning, memory, and adaptation over time.&lt;/p&gt;

&lt;p&gt;Real-world work rarely happens in a single prompt.&lt;/p&gt;

&lt;p&gt;Whether you're researching a topic, debugging a codebase, managing a project, or automating repetitive work, the system needs context and continuity.&lt;/p&gt;

&lt;p&gt;This is where agentic systems become interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Makes Hermes Agent Different
&lt;/h2&gt;

&lt;p&gt;What stood out to me about Hermes Agent is its focus on long-term usefulness rather than one-off interactions.&lt;/p&gt;

&lt;p&gt;The idea of an agent that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learn from previous interactions&lt;/li&gt;
&lt;li&gt;Store useful knowledge&lt;/li&gt;
&lt;li&gt;Search its own memory&lt;/li&gt;
&lt;li&gt;Improve skills through experience&lt;/li&gt;
&lt;li&gt;Work with different models and providers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;makes it feel much closer to what developers actually want from AI assistants.&lt;/p&gt;

&lt;p&gt;Instead of creating another chatbot, the goal becomes building a system that can evolve alongside its user.&lt;/p&gt;

&lt;p&gt;Of course, no framework is a silver bullet.&lt;/p&gt;

&lt;p&gt;The effectiveness of any AI agent still depends on model quality, tool integrations, prompting strategies, and the problems it's being asked to solve. Hermes Agent doesn't magically solve those challenges, but it does provide a strong foundation for developers who want to build more capable systems.&lt;/p&gt;

&lt;p&gt;What I find particularly interesting is that it treats memory and learning as first-class concepts rather than optional add-ons. As AI systems become more integrated into our daily workflows, those capabilities will likely become increasingly important.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Would Use Hermes Agent
&lt;/h2&gt;

&lt;p&gt;One project idea I've been exploring is a developer productivity agent.&lt;/p&gt;

&lt;p&gt;Imagine an assistant that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Analyze GitHub issues&lt;/li&gt;
&lt;li&gt;Generate implementation plans&lt;/li&gt;
&lt;li&gt;Search project documentation&lt;/li&gt;
&lt;li&gt;Summarize pull requests&lt;/li&gt;
&lt;li&gt;Maintain context across sessions&lt;/li&gt;
&lt;li&gt;Learn common workflows over time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than repeating instructions every day, the agent gradually becomes more useful because it remembers how you work.&lt;/p&gt;

&lt;p&gt;For engineers working on large projects, that kind of persistent context can save a surprising amount of time.&lt;/p&gt;

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

&lt;p&gt;One aspect I particularly appreciate is that Hermes Agent is open source.&lt;/p&gt;

&lt;p&gt;The AI ecosystem is increasingly dominated by closed platforms and proprietary systems. While those tools can be powerful, developers often have limited visibility into how they work and limited control over where they run.&lt;/p&gt;

&lt;p&gt;With Hermes Agent, developers can inspect the code, modify behavior, self-host deployments, and experiment freely.&lt;/p&gt;

&lt;p&gt;That flexibility is incredibly valuable for learning and innovation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Personal Note
&lt;/h2&gt;

&lt;p&gt;Alongside this exploration, I've been building a Hermes Agent-powered project that I'm genuinely excited about. It's still under active development, and I expect it will take another 3–5 weeks before it's ready to be shared publicly.&lt;/p&gt;

&lt;p&gt;Rather than rushing out an unfinished version, I'm focusing on polishing the architecture, improving reliability, and making sure the user experience is something I'm proud of. Once it's ready, I'll publish a detailed technical breakdown covering the design decisions, implementation challenges, and lessons learned while building with Hermes Agent.&lt;/p&gt;

&lt;p&gt;If you'd like to follow my work or future updates, you can find me on GitHub:&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Akash504-ai" rel="noopener noreferrer"&gt;https://github.com/Akash504-ai&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The most exciting part of modern AI isn't generating text.&lt;/p&gt;

&lt;p&gt;It's creating systems that can remember, reason, plan, adapt, and collaborate with humans over time.&lt;/p&gt;

&lt;p&gt;Hermes Agent represents an interesting step toward that future. Whether you're building developer tools, research assistants, productivity systems, or entirely new categories of software, the ability to combine memory, learning, and tool use opens up possibilities that extend far beyond traditional chat interfaces.&lt;/p&gt;

&lt;p&gt;I'm excited to continue experimenting with Hermes Agent, finish the project I'm currently building, and share the results with the community in the coming weeks.&lt;/p&gt;

&lt;p&gt;Thanks for reading.&lt;/p&gt;

&lt;p&gt;If you're building with Hermes Agent too, I'd love to hear what you're working on.&lt;/p&gt;

</description>
      <category>hermesagentchallenge</category>
      <category>devchallenge</category>
      <category>agents</category>
    </item>
    <item>
      <title>My CI/CD Architecture</title>
      <dc:creator>Akash Santra</dc:creator>
      <pubDate>Sun, 24 May 2026 01:41:46 +0000</pubDate>
      <link>https://dev.to/akash_santra_3c96613546c6/my-cicd-architecture-4m1d</link>
      <guid>https://dev.to/akash_santra_3c96613546c6/my-cicd-architecture-4m1d</guid>
      <description>&lt;h2&gt;
  
  
  Why I Decided to Add CI/CD
&lt;/h2&gt;

&lt;p&gt;As my AI-powered realtime communication platform started growing, manual deployments and inconsistent validation became difficult to manage. I wanted a more production-oriented workflow with automated checks, deployment pipelines, and scalable infrastructure practices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges Before Automation
&lt;/h2&gt;

&lt;p&gt;Before introducing CI/CD:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Manual deployment workflows were error-prone&lt;/li&gt;
&lt;li&gt;Frontend/backend validation was inconsistent&lt;/li&gt;
&lt;li&gt;Merge stability became harder to maintain&lt;/li&gt;
&lt;li&gt;Infrastructure scaling introduced additional complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CI/CD Workflow Architecture
&lt;/h2&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%2Fehjolcur2ag0dgd8tcgv.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%2Fehjolcur2ag0dgd8tcgv.png" alt="CI/CD workflow architecture showing pull request validation, automated testing, Docker image publishing, staging deployment, and production deployment pipeline" width="800" height="238"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The workflow is divided into two major phases:&lt;/p&gt;

&lt;h3&gt;
  
  
  CI Phase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pull request validation&lt;/li&gt;
&lt;li&gt;Linting and formatting&lt;/li&gt;
&lt;li&gt;Build checks&lt;/li&gt;
&lt;li&gt;Security and dependency scanning&lt;/li&gt;
&lt;li&gt;Automated validation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  CD Phase
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Artifact generation&lt;/li&gt;
&lt;li&gt;Docker image publishing&lt;/li&gt;
&lt;li&gt;Staging deployment&lt;/li&gt;
&lt;li&gt;Production deployment workflow&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;Building this pipeline helped me better understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deployment automation&lt;/li&gt;
&lt;li&gt;Fail-fast engineering workflows&lt;/li&gt;
&lt;li&gt;Continuous integration principles&lt;/li&gt;
&lt;li&gt;Infrastructure reliability&lt;/li&gt;
&lt;li&gt;DevOps-oriented system design&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What’s Next
&lt;/h2&gt;

&lt;p&gt;I’m currently working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Redis-based scaling improvements&lt;/li&gt;
&lt;li&gt;Docker Compose setup&lt;/li&gt;
&lt;li&gt;Integration testing&lt;/li&gt;
&lt;li&gt;Load balancing experiments&lt;/li&gt;
&lt;li&gt;Architecture refinements&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>architecture</category>
      <category>automation</category>
      <category>cicd</category>
      <category>devops</category>
    </item>
    <item>
      <title>I Built an AI-Powered Real-Time Chat App with React, Node.js and Machine Learning</title>
      <dc:creator>Akash Santra</dc:creator>
      <pubDate>Fri, 27 Mar 2026 04:22:52 +0000</pubDate>
      <link>https://dev.to/akash_santra_3c96613546c6/i-built-an-ai-powered-real-time-chat-app-with-react-nodejs-and-machine-learning-52el</link>
      <guid>https://dev.to/akash_santra_3c96613546c6/i-built-an-ai-powered-real-time-chat-app-with-react-nodejs-and-machine-learning-52el</guid>
      <description>&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%2F4v8j1kdgjwxxiclljt0n.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%2F4v8j1kdgjwxxiclljt0n.png" alt=" " width="800" height="264"&gt;&lt;/a&gt;I built a full-stack real-time chat application inspired by modern messaging platforms, but enhanced with AI automation and Machine Learning moderation.&lt;/p&gt;

&lt;p&gt;GitHub Repo: &lt;a href="https://github.com/Akash504-ai/Chat-app" rel="noopener noreferrer"&gt;https://github.com/Akash504-ai/Chat-app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live Demo: &lt;a href="https://chat-app-sooty-mu.vercel.app" rel="noopener noreferrer"&gt;https://chat-app-sooty-mu.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What makes this project different?&lt;/p&gt;

&lt;p&gt;This is not just a basic chat app. It is designed like a production-ready communication platform with real-world features.&lt;/p&gt;

&lt;p&gt;Core Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time one-to-one and group chat using Socket.io&lt;/li&gt;
&lt;li&gt;Message reactions, replies, pin and delete&lt;/li&gt;
&lt;li&gt;Seen status with tick indicators&lt;/li&gt;
&lt;li&gt;Global message search&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI and Machine Learning Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI chatbot integration using Groq API&lt;/li&gt;
&lt;li&gt;Toxic message detection using ML models&lt;/li&gt;
&lt;li&gt;Spam detection system&lt;/li&gt;
&lt;li&gt;Admin moderation pipeline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Communication Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice and video calling using ZegoCloud&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security and Authentication&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secure login and signup&lt;/li&gt;
&lt;li&gt;Three-level security questions&lt;/li&gt;
&lt;li&gt;Password recovery with identity verification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;UI and Customization&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built with Tailwind CSS and DaisyUI&lt;/li&gt;
&lt;li&gt;Dynamic themes&lt;/li&gt;
&lt;li&gt;Custom chat wallpapers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Admin Panel&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User management system&lt;/li&gt;
&lt;li&gt;Report handling and moderation&lt;/li&gt;
&lt;li&gt;Analytics dashboard&lt;/li&gt;
&lt;li&gt;CSV export support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tech Stack&lt;/p&gt;

&lt;p&gt;Frontend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React.js&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;DaisyUI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Backend&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express.js&lt;/li&gt;
&lt;li&gt;Socket.io&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Machine Learning Service&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;li&gt;Scikit-learn models&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Database&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Architecture&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend handles UI and client logic&lt;/li&gt;
&lt;li&gt;Backend manages APIs and real-time communication&lt;/li&gt;
&lt;li&gt;ML service handles moderation and predictions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This separation makes the system scalable and closer to real-world applications.&lt;/p&gt;

&lt;p&gt;What I Learned&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building real-time systems with Socket.io&lt;/li&gt;
&lt;li&gt;Integrating Machine Learning into production apps&lt;/li&gt;
&lt;li&gt;Designing scalable architecture&lt;/li&gt;
&lt;li&gt;Handling complex chat state and features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Future Improvements&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improving ML models&lt;/li&gt;
&lt;li&gt;Adding push notifications&lt;/li&gt;
&lt;li&gt;Better mobile responsiveness&lt;/li&gt;
&lt;li&gt;UI and UX improvements&lt;/li&gt;
&lt;li&gt;Use webRTC instead of ZegoCloud&lt;/li&gt;
&lt;li&gt;Any feature which can improve this&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contributing&lt;/p&gt;

&lt;p&gt;Contributions are welcome&lt;br&gt;
Feel free to fork the repository and submit a pull request.&lt;br&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%2F3xuzi95nomqzgfewjle3.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%2F3xuzi95nomqzgfewjle3.png" alt=" " width="800" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>machinelearning</category>
      <category>node</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
