<?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: Akshay Kolhapure</title>
    <description>The latest articles on DEV Community by Akshay Kolhapure (@kolhapureakshay).</description>
    <link>https://dev.to/kolhapureakshay</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%2F3762975%2F917a3774-56db-483d-856a-18d4451dae98.jpg</url>
      <title>DEV Community: Akshay Kolhapure</title>
      <link>https://dev.to/kolhapureakshay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kolhapureakshay"/>
    <language>en</language>
    <item>
      <title>How I “Vibe-Coded” a Self-Healing Vector Engine for MongoDB in One Weekend</title>
      <dc:creator>Akshay Kolhapure</dc:creator>
      <pubDate>Fri, 06 Mar 2026 08:53:08 +0000</pubDate>
      <link>https://dev.to/kolhapureakshay/how-i-vibe-coded-a-self-healing-vector-engine-for-mongodb-in-one-weekend-1i52</link>
      <guid>https://dev.to/kolhapureakshay/how-i-vibe-coded-a-self-healing-vector-engine-for-mongodb-in-one-weekend-1i52</guid>
      <description>&lt;p&gt;As a software engineer with nearly a decade of experience, I’ve spent thousands of hours manually typing every semicolon and crafting every database schema. But last weekend, I decided to try something radical. I wanted to see if I could build a production-ready, enterprise-grade SDK by focusing purely on vision, architecture, and testing, while letting AI handle the heavy lifting of syntax.&lt;/p&gt;

&lt;p&gt;The result? @manasdb/core is now live on NPM.&lt;/p&gt;

&lt;p&gt;The Problem: RAG is Brittle and Expensive&lt;/p&gt;

&lt;p&gt;If you’ve built Retrieval-Augmented Generation (RAG) applications with MongoDB, you’ve likely hit these three walls:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Context Gap: Traditional vector search returns isolated sentences. When you feed these fragments to an LLM, it loses the “big picture,” leading to hallucinations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The “Dimension Crash”: Switch your embedding model from OpenAI to Gemini, and your entire Vector Index crashes because of a dimension mismatch.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The PII Leak: Sensitive data (emails, credit cards) accidentally hitting external LLM APIs because implementing robust scrubbing is a tedious manual task.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had the architectural blueprints to fix this, but I didn’t want to spend three weeks writing the boilerplate.&lt;/p&gt;

&lt;p&gt;The Workflow: Architecture First, Syntax Second&lt;/p&gt;

&lt;p&gt;Using Google’s Antigravity IDE, I adopted a “Vibe Coding” workflow. This isn’t “lazy coding” – it is high-speed orchestration. As an experienced engineer, I guided the AI through 8 distinct development plans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Intent: I defined the “Context-Healer” protocol (Parent-Child linking).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Generation: I let the AI implement the complex MongoDB aggregation pipelines and the cryptographic hashing for deduplication.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Rigorous Test: This is where the “Engineer” in me took over. I didn’t trust the AI’s code; I tested the output. I ran stress tests on 50-page PDFs to ensure that a search for a tiny detail would “heal” into a full, relevant paragraph for the LLM.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What is ManasDB?&lt;/p&gt;

&lt;p&gt;ManasDB isn’t just another database wrapper. It’s an intelligence layer that sits on top of your MongoDB (Atlas or Self-Hosted 8.2+).&lt;/p&gt;

&lt;p&gt;Subscribe to the Medium newsletter&lt;br&gt;
| Feature | The Developer “Vibe” |&lt;/p&gt;

&lt;p&gt;| – -| – -|&lt;/p&gt;

&lt;p&gt;| Self-Healing | Automatically falls back to keyword search if vectors fail. |&lt;/p&gt;

&lt;p&gt;| PII Shield | Native redaction of emails/secrets before they hit the cloud. |&lt;/p&gt;

&lt;p&gt;| ROI Tracking | A CLI (npx manas stats) that proves your cost savings. |&lt;/p&gt;

&lt;p&gt;| Context Healer | Parent-Child logic that ensures your LLM never loses the plot. |&lt;/p&gt;

&lt;p&gt;The Lesson: The Architect is the New Coder&lt;/p&gt;

&lt;p&gt;The biggest takeaway from this project? In 2026, being a software engineer is becoming less about being a “syntax expert” and more about being a Systems Architect.&lt;/p&gt;

&lt;p&gt;Because I knew how a Vector DB should behave and what pain points developers face regarding costs and privacy, I could guide the AI to build a tool that solves real-world problems. I spent 10% of my time prompting and 90% of my time testing edge cases – like ensuring a 768-D query doesn’t crash a 1536-D index.&lt;/p&gt;

&lt;p&gt;Try it out&lt;/p&gt;

&lt;p&gt;If you’re tired of brittle vector setups and want a memory layer that just works, give ManasDB a spin. It’s open-source, lightweight, and takes just 5 lines to integrate.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install @manasdb/core&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Github link: &lt;a href="https://github.com/manasdb/manasdb" rel="noopener noreferrer"&gt;https://github.com/manasdb/manasdb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NPM link: &lt;a href="https://www.npmjs.com/package/@manasdb/core" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@manasdb/core&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m curious – are you still writing every line by hand, or have you started “vibe coding” your infrastructure yet? Let’s discuss in the comments.&lt;/p&gt;

</description>
      <category>mongodb</category>
      <category>node</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Stop reading stack traces — this tool explains them</title>
      <dc:creator>Akshay Kolhapure</dc:creator>
      <pubDate>Thu, 19 Feb 2026 08:02:25 +0000</pubDate>
      <link>https://dev.to/kolhapureakshay/stop-reading-stack-traces-this-tool-explains-them-32ki</link>
      <guid>https://dev.to/kolhapureakshay/stop-reading-stack-traces-this-tool-explains-them-32ki</guid>
      <description>&lt;p&gt;Hi devs 👋&lt;/p&gt;

&lt;p&gt;I built a small open-source library called &lt;strong&gt;whylog&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It’s not another logger — it’s a runtime diagnostic engine that explains WHY your app crashed.&lt;/p&gt;

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

&lt;p&gt;Error: Cannot find module...&lt;/p&gt;

&lt;p&gt;You get:&lt;/p&gt;

&lt;p&gt;✔ Clear explanation&lt;br&gt;
✔ Source snippet&lt;br&gt;
✔ Fix suggestions&lt;br&gt;
✔ Clean stack trace&lt;br&gt;
✔ JSON output for production&lt;/p&gt;

&lt;p&gt;Works in Node, serverless functions, and browser environments.&lt;/p&gt;

&lt;p&gt;Install:&lt;br&gt;
npm install whylog&lt;/p&gt;

&lt;p&gt;Usage:&lt;br&gt;
import "whylog/register"&lt;/p&gt;

&lt;p&gt;I’d love feedback, ideas, or real-world error cases to improve heuristics.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/kolhapureakshay/whylog" rel="noopener noreferrer"&gt;https://github.com/kolhapureakshay/whylog&lt;/a&gt;&lt;br&gt;
npm: &lt;a href="https://www.npmjs.com/package/whylog" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/whylog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
Before:&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%2Foa3ugo43nvzzrrippr2x.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%2Foa3ugo43nvzzrrippr2x.png" alt="Without using any library" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After using "whylog" library:&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%2Fht5pps8mevqglz12s0na.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%2Fht5pps8mevqglz12s0na.png" alt="After using " width="690" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>opensource</category>
      <category>errorlogs</category>
    </item>
    <item>
      <title>I Built an Open-Source Authentication Engine for Node.js (with the Help of AI)</title>
      <dc:creator>Akshay Kolhapure</dc:creator>
      <pubDate>Mon, 09 Feb 2026 22:05:59 +0000</pubDate>
      <link>https://dev.to/kolhapureakshay/i-built-an-open-source-authentication-engine-for-nodejs-with-the-help-of-ai-4e64</link>
      <guid>https://dev.to/kolhapureakshay/i-built-an-open-source-authentication-engine-for-nodejs-with-the-help-of-ai-4e64</guid>
      <description>&lt;p&gt;Authentication is one of those things that &lt;em&gt;looks simple&lt;/em&gt; until you try to run it in production.&lt;/p&gt;

&lt;p&gt;JWT-based authentication is everywhere in the Node.js ecosystem, but after working on multiple real-world backend systems, I kept facing the same recurring issue:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;JWT libraries are excellent at creating and verifying tokens —&lt;br&gt;
but they stop short when it comes to session management.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Production systems need much more than stateless tokens.&lt;/p&gt;

&lt;p&gt;They need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Session awareness&lt;/li&gt;
&lt;li&gt;Refresh token rotation&lt;/li&gt;
&lt;li&gt;Token revocation (“logout all devices”)&lt;/li&gt;
&lt;li&gt;Device &amp;amp; IP tracking&lt;/li&gt;
&lt;li&gt;Rate limiting against brute-force attacks&lt;/li&gt;
&lt;li&gt;Extensibility for future security needs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That gap is what led me to build &lt;strong&gt;Smart Auth Engine&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔐 What Is Smart Auth Engine?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Smart Auth Engine&lt;/strong&gt; is an &lt;strong&gt;open-source authentication engine for Node.js and TypeScript&lt;/strong&gt;, built on top of JWT but designed with &lt;strong&gt;stateful session intelligence&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;📦 npm: &lt;a href="https://www.npmjs.com/package/smart-auth-engine" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/smart-auth-engine&lt;/a&gt;&lt;br&gt;
💻 GitHub: &lt;a href="https://github.com/kolhapureakshay/smart-auth-engine" rel="noopener noreferrer"&gt;https://github.com/kolhapureakshay/smart-auth-engine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instead of treating authentication as “just token generation”, it treats auth as &lt;strong&gt;backend infrastructure&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 The Core Idea: JWT + Session Intelligence
&lt;/h2&gt;

&lt;p&gt;JWTs are powerful, but on their own they are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stateless&lt;/li&gt;
&lt;li&gt;Hard to revoke&lt;/li&gt;
&lt;li&gt;Blind to device and session context&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Smart Auth Engine layers &lt;strong&gt;session tracking&lt;/strong&gt; on top of JWT, enabling:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple sessions per user&lt;/li&gt;
&lt;li&gt;Secure refresh token rotation&lt;/li&gt;
&lt;li&gt;Immediate session revocation&lt;/li&gt;
&lt;li&gt;Device &amp;amp; IP visibility&lt;/li&gt;
&lt;li&gt;Safer long-lived authentication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach gives you the scalability of JWT with the control of session-based auth.&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Key Features
&lt;/h2&gt;

&lt;p&gt;Smart Auth Engine currently provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Stateful session management&lt;/strong&gt; on top of JWT&lt;/li&gt;
&lt;li&gt;🔁 &lt;strong&gt;Refresh token rotation&lt;/strong&gt; with replay-attack detection&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Session intelligence&lt;/strong&gt; (device + IP tracking)&lt;/li&gt;
&lt;li&gt;🔐 &lt;strong&gt;Role-Based Access Control (RBAC)&lt;/strong&gt; middleware&lt;/li&gt;
&lt;li&gt;🚦 &lt;strong&gt;Rate limiting utilities&lt;/strong&gt; for login protection&lt;/li&gt;
&lt;li&gt;🔌 &lt;strong&gt;Pluggable storage adapters&lt;/strong&gt; (In-memory, Redis)&lt;/li&gt;
&lt;li&gt;🧩 &lt;strong&gt;Modular architecture&lt;/strong&gt; with event bus &amp;amp; plugins&lt;/li&gt;
&lt;li&gt;💙 &lt;strong&gt;TypeScript-first API&lt;/strong&gt; with strong typings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All features are &lt;strong&gt;fully open-source and self-hostable&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🏗️ Why I Built This Instead of Using Existing Libraries
&lt;/h2&gt;

&lt;p&gt;Most existing Node.js authentication libraries focus on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Token creation&lt;/li&gt;
&lt;li&gt;Token verification&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But real backend systems need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Session lifecycle control&lt;/li&gt;
&lt;li&gt;Safer refresh token handling&lt;/li&gt;
&lt;li&gt;Clean extensibility&lt;/li&gt;
&lt;li&gt;Framework-agnostic design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Something I’d trust in production&lt;/li&gt;
&lt;li&gt;A clean foundation for future security features (MFA, OAuth)&lt;/li&gt;
&lt;li&gt;A modular system that grows with the application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Smart Auth Engine is the result of that mindset.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 How AI Helped During Development
&lt;/h2&gt;

&lt;p&gt;While building Smart Auth Engine, I used AI tools to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Explore and validate architectural approaches&lt;/li&gt;
&lt;li&gt;Review security patterns and edge cases&lt;/li&gt;
&lt;li&gt;Improve documentation clarity&lt;/li&gt;
&lt;li&gt;Speed up repetitive development tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI didn’t replace engineering judgment —&lt;br&gt;
it &lt;strong&gt;amplified productivity and design thinking&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The final decisions around security, architecture, and API design were always deliberate and manual.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Open-Source First Philosophy
&lt;/h2&gt;

&lt;p&gt;Smart Auth Engine follows an &lt;strong&gt;open-core, developer-first philosophy&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✔ All core authentication features are open-source&lt;/li&gt;
&lt;li&gt;✔ No artificial feature locking&lt;/li&gt;
&lt;li&gt;✔ Fully transparent and self-hostable&lt;/li&gt;
&lt;li&gt;✔ Designed for extensibility and long-term growth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If commercial offerings ever exist, they would focus on &lt;strong&gt;hosted services and tooling&lt;/strong&gt;, not core authentication logic.&lt;/p&gt;

&lt;p&gt;Developer trust matters.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Project Status
&lt;/h2&gt;

&lt;p&gt;Smart Auth Engine is currently at &lt;strong&gt;v0.1.0&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;APIs may evolve&lt;/li&gt;
&lt;li&gt;Feedback is highly encouraged&lt;/li&gt;
&lt;li&gt;Real-world usage will shape future releases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal right now is &lt;strong&gt;learning and validation&lt;/strong&gt;, not hype.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛣️ What’s Coming Next
&lt;/h2&gt;

&lt;p&gt;Some planned directions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fastify and NestJS adapters&lt;/li&gt;
&lt;li&gt;OAuth / social login support&lt;/li&gt;
&lt;li&gt;Multi-factor authentication (MFA)&lt;/li&gt;
&lt;li&gt;Additional storage adapters&lt;/li&gt;
&lt;li&gt;More real-world examples&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙌 Feedback Welcome
&lt;/h2&gt;

&lt;p&gt;If you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build Node.js backends&lt;/li&gt;
&lt;li&gt;Work with JWT, authentication, or session management&lt;/li&gt;
&lt;li&gt;Care about secure and scalable auth design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’d love your feedback:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does this solve a real problem for you?&lt;/li&gt;
&lt;li&gt;What would you expect from an auth engine?&lt;/li&gt;
&lt;li&gt;What should come next?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;p&gt;📦 npm: &lt;a href="https://www.npmjs.com/package/smart-auth-engine" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/smart-auth-engine&lt;/a&gt;&lt;br&gt;
💻 GitHub: &lt;a href="https://github.com/kolhapureakshay/smart-auth-engine" rel="noopener noreferrer"&gt;https://github.com/kolhapureakshay/smart-auth-engine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you find it useful, a ⭐ on GitHub helps a lot.&lt;/p&gt;

&lt;p&gt;Thanks for reading — and happy building 👋&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>backend</category>
      <category>node</category>
    </item>
  </channel>
</rss>
