<?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: Shivam Kamat</title>
    <description>The latest articles on DEV Community by Shivam Kamat (@shivamkamat579).</description>
    <link>https://dev.to/shivamkamat579</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%2F3954790%2F2d8a669f-453d-423a-8f7d-025a8eda3264.png</url>
      <title>DEV Community: Shivam Kamat</title>
      <link>https://dev.to/shivamkamat579</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shivamkamat579"/>
    <language>en</language>
    <item>
      <title>I caught my AI agent calling a payment flow 'complete.'</title>
      <dc:creator>Shivam Kamat</dc:creator>
      <pubDate>Thu, 18 Jun 2026 15:11:56 +0000</pubDate>
      <link>https://dev.to/shivamkamat579/i-caught-my-ai-agent-calling-a-payment-flow-complete-56b8</link>
      <guid>https://dev.to/shivamkamat579/i-caught-my-ai-agent-calling-a-payment-flow-complete-56b8</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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3zja8dta67n3o6y37vfl.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3zja8dta67n3o6y37vfl.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It had quietly deleted the one edge case it didn't know how to handle.&lt;br&gt;
I almost didn't notice. The code ran clean, the tests passed, the commit message even said "added refund handling." Why would I double check that?&lt;/p&gt;

&lt;p&gt;Out of habit, I diffed the file against what I'd actually asked for. Buried in there: the function that was supposed to handle a failed webhook retry — gone. Not broken. Not commented out. Just... not there anymore. Replaced with a simpler version that worked for the easy case and silently skipped the hard one.&lt;/p&gt;

&lt;p&gt;It didn't lie, exactly. It just avoided the part it couldn't solve and reported success anyway, the same way a kid says "homework's done" after skipping the one question they didn't understand.&lt;br&gt;
That's the actual risk with AI agents on anything involving money. Not that they write bad code. It's that they're confident even when they're wrong, and "complete" from an agent means "the part I could figure out is complete."&lt;/p&gt;

&lt;p&gt;Now I read every diff on payment logic line by line. No exceptions. Some things you just can't fully delegate.&lt;/p&gt;

&lt;p&gt;I'm logging every one of these the moment I catch them, not just the one that makes a good story. Stay connected!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
    </item>
    <item>
      <title>I almost paid $200/month for a plan I didn't need.</title>
      <dc:creator>Shivam Kamat</dc:creator>
      <pubDate>Thu, 18 Jun 2026 14:49:03 +0000</pubDate>
      <link>https://dev.to/shivamkamat579/i-almost-paid-200month-for-a-plan-i-didnt-need-4435</link>
      <guid>https://dev.to/shivamkamat579/i-almost-paid-200month-for-a-plan-i-didnt-need-4435</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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdi0itd8j46ltr7lzcz88.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdi0itd8j46ltr7lzcz88.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was about to upgrade because I kept hitting limits.&lt;/p&gt;

&lt;p&gt;Then I actually looked at what was eating my usage — 70% of it was simple edits I was sending to my most expensive model purely out of habit.&lt;/p&gt;

&lt;p&gt;Moved those to a free-tier model built for exactly that. Limits stopped being a problem. Didn't spend a rupee more.&lt;/p&gt;

&lt;p&gt;The upgrade isn't always the fix. Sometimes the fix is noticing you've been swinging a sledgehammer at a thumbtack.&lt;/p&gt;

&lt;p&gt;What's actually in your usage breakdown — have you checked, or just assumed you need more?&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
    <item>
      <title>I run a 28,000-file codebase solo with four different AI agents.</title>
      <dc:creator>Shivam Kamat</dc:creator>
      <pubDate>Wed, 17 Jun 2026 17:35:51 +0000</pubDate>
      <link>https://dev.to/shivamkamat579/i-run-a-28000-file-codebase-solo-with-four-different-ai-agents-587d</link>
      <guid>https://dev.to/shivamkamat579/i-run-a-28000-file-codebase-solo-with-four-different-ai-agents-587d</guid>
      <description>&lt;p&gt;Let me paint a picture of true solo developer chaos. It’s 2 AM. You tell Agent A to refactor your database schema. While it’s running in the background, you tell Agent B to update the API endpoints to match.&lt;/p&gt;

&lt;p&gt;Ten minutes later, your terminal is vomiting 500 errors, your Git history looks like a spaghetti monster, and both agents have somehow managed to overwrite each other’s dependencies in an endless doom-loop of git push --force.&lt;/p&gt;

&lt;p&gt;When you scale up to a massive codebase as a solo founder, one AI assistant isn’t enough. You start spinning up multiple autonomous agents — one for UI, one for backend logic, one for writing tests. But AI agents lack spatial awareness. If you let them roam free, they will step on each other’s toes, hallucinate conflicting variables, and silently break production.&lt;/p&gt;

&lt;p&gt;The pain of untangling AI-generated merge conflicts is honestly worse than just writing the code yourself.&lt;/p&gt;

&lt;p&gt;The solution isn’t using fewer agents; it’s building a strict “routing table” for them. Here is the exact architecture I use to keep my four agents incredibly productive and totally isolated:&lt;/p&gt;

&lt;p&gt;Become a Medium member&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The UI Sandbox (Agent 1) This agent is strictly bounded to the frontend directories (like /components and /app). I give it read-only access to my API types, but it is completely barred from touching backend logic. If a button needs a new endpoint, this agent is instructed to mock the data until the backend catches up.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Data Core (Agent 2) This is my heavy-lifter. It only operates inside /models and /database. It doesn't know what React is. It doesn't care about CSS. Its only job is to ensure data integrity, handle migrations, and write clean database queries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The API Bridge (Agent 3) This agent sits in the /routes folder. It takes the schemas built by the Data Core and wires them up to the frontend. It is strictly forbidden from altering the database schema itself. If the Data Core didn't provide a specific field, this agent isn't allowed to hallucinate one.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Janitor (Agent 4) Runs strictly in the /tests folder. It gets read-only access to the entire codebase. Its only job is to write unit tests and scream when the other three agents inevitably break something.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Stop treating your AI agents like senior full-stack developers. Treat them like brilliant but chaotic junior devs who need strict guardrails. Segment their environments, tightly bound their read/write access, and your solo productivity will 10x without the Git nightmares.&lt;/p&gt;

&lt;p&gt;If this setup saved you a headache today, let’s keep the momentum going. I share raw, unfiltered solutions to the hidden problems indie developers face every single day.&lt;/p&gt;

&lt;p&gt;Follow me on &lt;a href="https://x.com/ShivamKamat4" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; for daily quick-fixes. Subscribe on Medium so you never miss a deep dive.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>vibecoding</category>
      <category>webdev</category>
    </item>
    <item>
      <title>There's a question interviewers ask that separates candidates in the first 2 minutes. Most final-year students can't answer it.</title>
      <dc:creator>Shivam Kamat</dc:creator>
      <pubDate>Wed, 27 May 2026 18:41:34 +0000</pubDate>
      <link>https://dev.to/shivamkamat579/theres-a-question-interviewers-ask-that-separates-candidates-in-the-first-2-minutes-most-254h</link>
      <guid>https://dev.to/shivamkamat579/theres-a-question-interviewers-ask-that-separates-candidates-in-the-first-2-minutes-most-254h</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Most students submit their project and forget it. The ones who get hired can't stop talking about theirs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There's a moment every CS student dreads.&lt;/p&gt;

&lt;p&gt;You're sitting in front of an interviewer and they ask: "Walk me through your project."&lt;/p&gt;

&lt;p&gt;If your answer is a todo app, a weather app, or a basic login form — you already know how that ends.&lt;/p&gt;

&lt;p&gt;Not with a callback.&lt;/p&gt;

&lt;p&gt;*&lt;em&gt;The Real Gap Nobody Talks About&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Interviewers aren't impressed by features. They're impressed by &lt;em&gt;decisions&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why did you structure your database this way?&lt;/li&gt;
&lt;li&gt;How does data flow through your system?&lt;/li&gt;
&lt;li&gt;What happens when two users hit the same endpoint?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your project is features held together with duct tape, you'll fumble every single one of these.&lt;/p&gt;

&lt;p&gt;But if there's a &lt;em&gt;real system&lt;/em&gt; behind it — documented architecture, workflow logic, thought-out structure — you'll answer confidently. And in a viva, confidence is half the battle.&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%2F40x9my855pf9e5yjdgmz.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%2F40x9my855pf9e5yjdgmz.png" alt=" " width="800" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://shivamkamat.gumroad.com/l/ribrvs" rel="noopener noreferrer"&gt;What ResiConnect Actually Is&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ResiConnect&lt;/strong&gt; is a QR-based Visitor Management System in Flask — built the way real residential security software works, not the way tutorials teach you.&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%2Fyjwnd38c02leeka1zepk.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%2Fyjwnd38c02leeka1zepk.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three separate portals: Admin, Member, and Security. Members generate QR guest passes. Security validates them in real time. Admins monitor everything from a central dashboard.&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%2Fxxontn2p70jrktbu2o4y.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%2Fxxontn2p70jrktbu2o4y.png" alt=" " width="800" height="403"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The QR passes run through a &lt;strong&gt;state machine&lt;/strong&gt; — passes get created, approved, denied, expired. That's not something you copy off Stack Overflow. That's something you explain in an interview and watch the interviewer lean forward.&lt;/p&gt;

&lt;p&gt;Plus: role-based auth, activity logging, API validation routes, SQLAlchemy relationships, full algorithm documentation, and complete workflow flowcharts.&lt;/p&gt;

&lt;p&gt;The documentation alone is worth it. Being able to pull up a flowchart and walk someone through your system logic — &lt;em&gt;that's&lt;/em&gt; what turns a 20-minute viva into a 45-minute conversation that ends with "we'll be in touch."&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%2Fo1hssvzh0r5o5wksd5ye.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%2Fo1hssvzh0r5o5wksd5ye.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Say in the Interview
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;"Tell me about a project you're proud of."&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I built a role-based visitor management system — three portals, QR-based guest passes with a state machine, real-time security validation. I can walk you through the architecture."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a different answer than "I built a todo app with authentication."&lt;/p&gt;

&lt;p&gt;Every follow-up they ask becomes an opportunity, not a trap.&lt;/p&gt;

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

&lt;p&gt;Complete source code. Full architecture. Flowcharts. Algorithm docs. Everything.&lt;/p&gt;

&lt;p&gt;The people who outcompete you in placements this year aren't smarter. They just have better material to work with.&lt;/p&gt;

&lt;p&gt;People don't remember the student who submitted a weather app.&lt;/p&gt;

&lt;p&gt;They remember the one who built something that &lt;em&gt;felt like real software.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://shivamkamat.gumroad.com/l/ribrvs" rel="noopener noreferrer"&gt;Get ResiConnect →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
