<?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>Forem: Manas kolaskar</title>
    <description>The latest articles on Forem by Manas kolaskar (@manasscodes).</description>
    <link>https://forem.com/manasscodes</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%2F3630832%2F22db9f17-e583-4d42-b894-f1aad960a867.jpeg</url>
      <title>Forem: Manas kolaskar</title>
      <link>https://forem.com/manasscodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/manasscodes"/>
    <language>en</language>
    <item>
      <title>Cursor Introduces a TypeScript SDK for Building Programmatic Coding Agents With Sandboxed Cloud VMs, Subagents, Hooks, and Token-Based Pricing</title>
      <dc:creator>Manas kolaskar</dc:creator>
      <pubDate>Fri, 01 May 2026 15:51:13 +0000</pubDate>
      <link>https://forem.com/manasscodes/cursor-introduces-a-typescript-sdk-for-building-programmatic-coding-agents-with-sandboxed-cloud-573g</link>
      <guid>https://forem.com/manasscodes/cursor-introduces-a-typescript-sdk-for-building-programmatic-coding-agents-with-sandboxed-cloud-573g</guid>
      <description>&lt;p&gt;Cursor, the AI-powered code editor, is opening up the core technology behind its coding agents to developers everywhere. The Cursor team announced the public beta of the Cursor SDK — a TypeScript library that gives engineers programmatic access to the same runtime, harness, and models that power Cursor’s desktop app, CLI, and web interface.&lt;/p&gt;

&lt;p&gt;This signals a meaningful shift in how AI coding tools are being positioned: not just as interactive assistants sitting alongside a developer, but as deployable infrastructure that organizations can wire into their existing systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Interactive Tool to Programmable Infrastructure
&lt;/h2&gt;

&lt;p&gt;If you’ve used Cursor before, you know it as an IDE where you interact with an agent in real time — asking it to write functions, fix bugs, or explain code. The Cursor SDK changes the access model. Instead of a developer sitting at a keyboard, the agent can now be invoked programmatically: from a CI/CD pipeline trigger, a backend service, or embedded directly inside another product.&lt;/p&gt;

&lt;p&gt;Think of it this way: previously, you had to be “in” Cursor to use its agents. Now, you can call those same agents from anywhere in your stack with a few lines of TypeScript.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting started is a single command:&lt;/strong&gt;&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%2Foau9j5bb3qebkql3lovt.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%2Foau9j5bb3qebkql3lovt.png" alt="Image" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From there, you create an Agent instance, send it a task, and stream the response back — all in TypeScript. Here’s the minimal example from Cursor’s announcement:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&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;Agent&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="s2"&gt;@cursor/sdk&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;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;Agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;apiKey&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;CURSOR_API_KEY&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;composer-2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;local&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;cwd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cwd&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Summarize what this repository does&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;await &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;event&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&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;The Agent.create() call accepts an apiKey, a model field (where you specify which model to run), and either a local or cloud configuration depending on where you want execution to happen.&lt;/p&gt;
&lt;h2&gt;
  
  
  Why Building Your Own Agent Stack is Hard
&lt;/h2&gt;

&lt;p&gt;Before diving into what the SDK offers, it’s worth understanding the problem it solves. Building fast, reliable, and capable coding agents that run safely against your data requires meaningful engineering effort: secure sandboxing, durable state and session management, environment setup, and context management. And when a new model ships, dev teams often have to rework their agent loops entirely just to take advantage of it. The Cursor SDK eliminates this complexity so teams can focus on building useful agents instead of maintaining the underlying infrastructure.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://cursor.com/blog/typescript-sdk" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fptht05hbb1ssoooe.public.blob.vercel-storage.com%2Fassets%2Fblog%2Fcursor-sdk-og-image-final.png" height="420" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://cursor.com/blog/typescript-sdk" rel="noopener noreferrer" class="c-link"&gt;
            Build programmatic agents with the Cursor SDK · Cursor
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            Launch, steer, and compose custom agents with the Cursor SDK.
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcursor.com%2Fmarketing-static%2Ffavicon.ico" width="256" height="256"&gt;
          cursor.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



&lt;h2&gt;
  
  
  The Agent Harness: What “Same Runtime” Actually Means
&lt;/h2&gt;

&lt;p&gt;SDK agents use the same harness that powers Cursor’s own products. ‘Harness’ here refers to the full set of supporting infrastructure that makes an agent effective beyond just the LLM call itself. In Cursor’s case, that includes:&lt;/p&gt;

&lt;h2&gt;
  
  
  Intelligent context management
&lt;/h2&gt;

&lt;p&gt;— Codebase indexing, semantic search, and instant grep so agents retrieve the right code context before generating responses. This is critical because LLMs are only as good as the context they receive; poor retrieval leads to hallucinated or irrelevant outputs.&lt;/p&gt;

&lt;h2&gt;
  
  
  MCP servers
&lt;/h2&gt;

&lt;p&gt;— Agents launched through the SDK can connect to external tools and data sources over stdio or HTTP, either via a .cursor/mcp.json config file or passed inline in the API call. MCP (Model Context Protocol) is an open standard for wiring tools into agent runtimes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skills
&lt;/h2&gt;

&lt;p&gt;— Agents automatically pick up reusable behavior definitions from a .cursor/skills/ directory in the repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hooks
&lt;/h2&gt;

&lt;p&gt;— A .cursor/hooks.json file lets you observe, control, and extend the agent loop across cloud, self-hosted, and local runtimes — useful for logging, guardrails, or custom orchestration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Subagents
&lt;/h2&gt;

&lt;p&gt;— The main agent can delegate subtasks to named subagents with their own prompts and models via the Agent tool, enabling multi-agent workflows without custom orchestration code.&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>cursor</category>
      <category>agents</category>
      <category>cloud</category>
    </item>
    <item>
      <title>The Day GitHub Broke (and Developers Became Philosophers)</title>
      <dc:creator>Manas kolaskar</dc:creator>
      <pubDate>Thu, 30 Apr 2026 18:28:51 +0000</pubDate>
      <link>https://forem.com/manasscodes/the-day-github-broke-and-developers-became-philosophers-35gd</link>
      <guid>https://forem.com/manasscodes/the-day-github-broke-and-developers-became-philosophers-35gd</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%2Fo1iv7q6r061gln23d192.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%2Fo1iv7q6r061gln23d192.png" alt="Image" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are outages…&lt;br&gt;&lt;br&gt;
and then there are &lt;em&gt;events&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The recent GitHub disruption wasn’t just “oops, services are down.”&lt;br&gt;&lt;br&gt;
It was the kind of moment where the entire dev ecosystem collectively stared at their screens and went:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“So… what do we even do now?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧠 Stage 1: Denial
&lt;/h2&gt;

&lt;p&gt;First reaction?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Must be my internet.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Classic.&lt;/p&gt;

&lt;p&gt;You refresh.&lt;br&gt;&lt;br&gt;
You restart VS Code.&lt;br&gt;&lt;br&gt;
You question your WiFi.&lt;br&gt;&lt;br&gt;
You question your life.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 Stage 2: Realization
&lt;/h2&gt;

&lt;p&gt;Then it hits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub is actually down.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Suddenly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PRs won’t load
&lt;/li&gt;
&lt;li&gt;Actions are stuck
&lt;/li&gt;
&lt;li&gt;Issues are gone
&lt;/li&gt;
&lt;li&gt;Your deploy pipeline is just… &lt;em&gt;vibes&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And somewhere, a senior engineer whispers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Don’t touch anything.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  😂 Stage 3: Internet Humor (Peak Productivity)
&lt;/h2&gt;

&lt;p&gt;And then, the comments start rolling in:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“30% of our code is written by AI. Yeah… we can tell.”&lt;br&gt;&lt;br&gt;
“AI = Automated Incompetence”&lt;br&gt;&lt;br&gt;
“From ‘it works on my machine’ → ‘it worked on my local repo’”&lt;br&gt;&lt;br&gt;
“My dog ate my revert commits.”&lt;br&gt;&lt;br&gt;
“Who needs AI hallucination? Just click merge.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Honestly?&lt;br&gt;&lt;br&gt;
The internet handled it better than most incident dashboards.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 The AI Angle Nobody Wants to Admit
&lt;/h2&gt;

&lt;p&gt;Here’s the uncomfortable part.&lt;/p&gt;

&lt;p&gt;We’re generating code faster than ever:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Copilot
&lt;/li&gt;
&lt;li&gt;LLMs
&lt;/li&gt;
&lt;li&gt;AI-assisted everything
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But outages like this reveal a gap:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Speed has outpaced understanding.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When something breaks, a surprising number of devs are left asking:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Wait… how does this part actually work?”
&lt;/li&gt;
&lt;li&gt;“Who wrote this logic?”
&lt;/li&gt;
&lt;li&gt;“Why is this even here?”
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Spoiler:&lt;/strong&gt; the AI doesn’t know either.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 The Bigger Problem: One Platform to Rule Them All
&lt;/h2&gt;

&lt;p&gt;Let’s be real.&lt;/p&gt;

&lt;p&gt;GitHub isn’t just a tool anymore.&lt;br&gt;&lt;br&gt;
It’s infrastructure.&lt;/p&gt;

&lt;p&gt;When it goes down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD pipelines freeze
&lt;/li&gt;
&lt;li&gt;Teams can’t collaborate
&lt;/li&gt;
&lt;li&gt;Releases stall globally
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We’ve accidentally built a world where:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;One platform outage = global productivity loss&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s… not ideal.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ What This Incident Actually Taught Us
&lt;/h2&gt;

&lt;p&gt;Not “GitHub should fix their servers.”&lt;/p&gt;

&lt;p&gt;That’s obvious.&lt;/p&gt;

&lt;p&gt;The real lessons:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Convenience has a cost
&lt;/h3&gt;

&lt;p&gt;We traded control for speed — and now we feel it.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. AI is a multiplier (good and bad)
&lt;/h3&gt;

&lt;p&gt;It scales productivity… and mistakes.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Most systems aren’t truly resilient
&lt;/h3&gt;

&lt;p&gt;They’re just &lt;em&gt;working fine… until they don’t.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ So What Now?
&lt;/h2&gt;

&lt;p&gt;No, you don’t need to ditch GitHub.&lt;/p&gt;

&lt;p&gt;But maybe:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand your pipelines beyond the UI
&lt;/li&gt;
&lt;li&gt;Don’t blindly trust generated code
&lt;/li&gt;
&lt;li&gt;Have at least &lt;em&gt;some&lt;/em&gt; fallback plan
&lt;/li&gt;
&lt;li&gt;And occasionally… read your own code
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Wild concept, I know.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Final Thought
&lt;/h2&gt;

&lt;p&gt;The funniest part?&lt;/p&gt;

&lt;p&gt;When GitHub went down,&lt;br&gt;&lt;br&gt;
developers didn’t stop working.&lt;/p&gt;

&lt;p&gt;They just switched to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;memes
&lt;/li&gt;
&lt;li&gt;philosophy
&lt;/li&gt;
&lt;li&gt;and mild existential crises
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And maybe that says more about our ecosystem&lt;br&gt;&lt;br&gt;
than the outage itself.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“It worked on my local repo.”&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
— probably the most accurate statement of 2026&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>ai</category>
      <category>vibecoding</category>
      <category>github</category>
    </item>
    <item>
      <title>I Let Claude Choose My Tech Stack for 6 Months. Here’s What I Learned the Hard Way.</title>
      <dc:creator>Manas kolaskar</dc:creator>
      <pubDate>Sun, 26 Apr 2026 13:48:00 +0000</pubDate>
      <link>https://forem.com/manasscodes/i-let-claude-choose-my-tech-stack-for-6-months-heres-what-i-learned-the-hard-way-5049</link>
      <guid>https://forem.com/manasscodes/i-let-claude-choose-my-tech-stack-for-6-months-heres-what-i-learned-the-hard-way-5049</guid>
      <description>&lt;p&gt;For the last 6 months, I was in flow state.&lt;/p&gt;

&lt;p&gt;Every project I touched - from small side hustles to my Final Year Bachelor’s Project - was built with AI assistance. I’d open Cursor, fire up Claude Sonnet, and let the magic happen.&lt;/p&gt;

&lt;p&gt;Why waste time thinking about architecture when the AI can just write the code?&lt;/p&gt;

&lt;p&gt;Why argue over whether to use PostgreSQL or MongoDB when Claude can decide?&lt;/p&gt;

&lt;p&gt;I was shipping features faster than ever. My GitHub looked like a construction site at 3 AM - messy, but moving.&lt;/p&gt;

&lt;p&gt;I thought I was becoming a 10x developer.&lt;/p&gt;

&lt;p&gt;Turns out, I was becoming something else entirely: a dangerous junior developer with a fake sense of expertise.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Confession I Didn’t Want to Make
&lt;/h2&gt;

&lt;p&gt;Here’s the truth I avoided for months:&lt;/p&gt;

&lt;p&gt;I let Claude or Cursor choose my tech stack. Every. Single. Time.&lt;/p&gt;

&lt;p&gt;"Hey Claude, build me a task manager with auth"&lt;/p&gt;

&lt;p&gt;"Cursor, add real-time notifications"&lt;/p&gt;

&lt;p&gt;"What database should I use for this?" → AI decides&lt;/p&gt;

&lt;p&gt;And you know what? It worked. The code compiled. The app ran.&lt;/p&gt;

&lt;p&gt;But then something strange happened.&lt;/p&gt;

&lt;p&gt;I was presenting my final year project to my supervisor. He asked a simple question:&lt;/p&gt;

&lt;p&gt;"Why did you choose WebSockets over Server-Sent Events for this specific feature?"&lt;/p&gt;

&lt;p&gt;Silence.&lt;/p&gt;

&lt;p&gt;I didn't know. Claude chose WebSockets. I just accepted it.&lt;/p&gt;

&lt;p&gt;Then he asked:&lt;/p&gt;

&lt;p&gt;"What happens if 10,000 users hit this endpoint at the same time? Walk me through the queueing system."&lt;/p&gt;

&lt;p&gt;More silence.&lt;/p&gt;

&lt;p&gt;I realized something terrifying: I had never actually understood how any of my systems worked internally.&lt;/p&gt;

&lt;p&gt;I was just an AI prompt engineer. Not a software engineer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Video That Broke My Brain (In a Good Way)
&lt;/h2&gt;

&lt;p&gt;I was doom-scrolling YouTube when I stumbled across this:&lt;/p&gt;

&lt;p&gt;👉 Why you suck at system design (and how to fix it)&lt;/p&gt;

&lt;p&gt;(Watch it. I'll wait.)&lt;/p&gt;

&lt;p&gt;The video didn't teach me a new framework or a fancy library. It did something worse (better).&lt;/p&gt;

&lt;p&gt;It showed me how little I actually knew about the fundamentals.&lt;/p&gt;

&lt;p&gt;The video made me realize:&lt;/p&gt;

&lt;p&gt;AI is brilliant at syntax but terrible at context&lt;/p&gt;

&lt;p&gt;AI will happily suggest a microservices architecture for a to-do list app&lt;/p&gt;

&lt;p&gt;AI doesn't know your team size, your deadline, or your actual traffic patterns&lt;/p&gt;

&lt;p&gt;AI optimizes for "it works now" — not for "it works at scale"&lt;/p&gt;

&lt;p&gt;I had been treating AI like an architect. But it's not an architect.&lt;/p&gt;

&lt;p&gt;It's an extremely fast typist who has read a lot of Stack Overflow posts.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Painful Pivot
&lt;/h2&gt;

&lt;p&gt;I stopped coding for 2 weeks.&lt;/p&gt;

&lt;p&gt;Instead, I went back to basics:&lt;/p&gt;

&lt;p&gt;Drew system design diagrams on paper (yes, actual paper)&lt;/p&gt;

&lt;p&gt;Studied CAP theorem, load balancers, message queues, caching strategies&lt;/p&gt;

&lt;p&gt;Asked "why" 100 times for every architectural decision&lt;/p&gt;

&lt;p&gt;Read engineering blogs from Stripe, Discord, and Netflix&lt;/p&gt;

&lt;p&gt;Then I went back to my final year project.&lt;/p&gt;

&lt;p&gt;And I redesigned everything from scratch.&lt;/p&gt;

&lt;p&gt;Not because the AI code was broken — but because I finally understood why certain choices were wrong for my specific use case.&lt;/p&gt;

&lt;p&gt;I kept using AI. But differently.&lt;/p&gt;

&lt;p&gt;Now I tell Claude: "I'm using PostgreSQL because I need strong consistency for transactions. Here's my schema. Help me optimize this specific query."&lt;/p&gt;

&lt;p&gt;Not: "Build me a social media app."&lt;/p&gt;

&lt;h2&gt;
  
  
  The Lesson I Wish I Learned Earlier
&lt;/h2&gt;

&lt;p&gt;AI is not your senior engineer.&lt;/p&gt;

&lt;p&gt;AI is your rubber duck that can type really fast.&lt;/p&gt;

&lt;p&gt;If you don't understand:&lt;/p&gt;

&lt;p&gt;How your database handles concurrency&lt;/p&gt;

&lt;p&gt;Why your API is rate-limited&lt;/p&gt;

&lt;p&gt;What happens when your cache misses&lt;/p&gt;

&lt;p&gt;How your message queue guarantees delivery&lt;/p&gt;

&lt;p&gt;...then you don't actually know what you've built. You're just hosting AI's best guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Do Now (And What You Should Steal)
&lt;/h2&gt;

&lt;p&gt;Here's my new workflow. It's slower. But it's mine.&lt;/p&gt;

&lt;p&gt;Before (AI-driven)  After (Human-driven)&lt;br&gt;
"Claude, pick a stack"  "I'll pick the stack based on my constraints"&lt;br&gt;
"AI, write everything"  "I design the system, AI writes the boilerplate"&lt;br&gt;
No diagrams Draw first, code second&lt;br&gt;
Fix errors by reprompting   Fix errors by understanding the root cause&lt;br&gt;
Never read the docs Read docs, ask AI to summarize&lt;br&gt;
My golden rule now: Never ask AI to make an architectural decision that you couldn't defend in a job interview.&lt;/p&gt;

&lt;p&gt;If you can't explain why Redis is better than Memcached for your use case, don't let AI choose for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hard Truth for Students (Like Me)
&lt;/h2&gt;

&lt;p&gt;We're in a weird generation of developers.&lt;/p&gt;

&lt;p&gt;We have superpowers (AI) but also new ways to shoot ourselves in the foot.&lt;/p&gt;

&lt;p&gt;Your final year project isn't just about getting a grade. It's about proving you understand systems well enough to build reliable software.&lt;/p&gt;

&lt;p&gt;If your AI builds it, and you can't explain it... did you really build it?&lt;/p&gt;

&lt;p&gt;(I'll let you sit with that one.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I'm At Now
&lt;/h2&gt;

&lt;p&gt;I still use Cursor daily. I still love Claude.&lt;/p&gt;

&lt;p&gt;But now I'm the architect. AI is my pair programmer who's really good at remembering syntax.&lt;/p&gt;

&lt;p&gt;My code is slower to write. But it's mine. I understand every line. I know why every database is indexed that way. I can draw the entire data flow on a whiteboard.&lt;/p&gt;

&lt;p&gt;And honestly? That feels better than shipping fast.&lt;/p&gt;

&lt;p&gt;Fast is temporary. Understanding is forever.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Turn
&lt;/h2&gt;

&lt;p&gt;Have you ever let AI overstep and make decisions it shouldn't have?&lt;/p&gt;

&lt;p&gt;Or are you still in the "Claude knows best" phase?&lt;/p&gt;

&lt;p&gt;Drop a comment below. Let's save each other from building beautifully broken systems.&lt;/p&gt;

&lt;p&gt;If you found this useful, share it with a friend who's letting AI design their database schema. They might need to hear this.&lt;/p&gt;

&lt;p&gt;P.S. Watch that video I linked. Seriously. It changed everything for me.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>systemdesign</category>
      <category>softwareengineering</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
