<?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: Isah Alamin</title>
    <description>The latest articles on DEV Community by Isah Alamin (@isah_alamin_93d4e4d2ab01f).</description>
    <link>https://dev.to/isah_alamin_93d4e4d2ab01f</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%2F3358136%2Fdabda939-3c97-4a10-bc63-c6e2f96e3e46.jpg</url>
      <title>DEV Community: Isah Alamin</title>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/isah_alamin_93d4e4d2ab01f"/>
    <language>en</language>
    <item>
      <title>I Was Tired of Explaining My Project to Every New AI Tab I Opened</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Thu, 19 Mar 2026 21:20:56 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/i-was-tired-of-explaining-my-project-to-every-new-ai-tab-i-opened-3ed7</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/i-was-tired-of-explaining-my-project-to-every-new-ai-tab-i-opened-3ed7</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Let me describe something that happened to me and I am willing to bet it has happened to you too.&lt;/p&gt;

&lt;p&gt;I was deep in a conversation with Claude. Twenty minutes in. I had explained my entire project, the stack, the decisions, the architecture. It finally got it. The momentum was real. The advice was flowing.&lt;/p&gt;

&lt;p&gt;And then I needed to actually write the code.&lt;/p&gt;

&lt;p&gt;I opened VS Code. I opened GitHub Copilot. And it hit me Copilot had absolutely no idea what Claude and I had just spent twenty minutes figuring out. Zero. I was back to square one. So I did what every developer does in that moment I started copying and pasting. Grabbing chunks of the Claude conversation, dumping them into Copilot, basically summarizing my own conversation to a completely different AI just to get it up to speed.&lt;/p&gt;

&lt;p&gt;That is not a workflow. That is a tax. And I was paying it every single day.&lt;/p&gt;

&lt;p&gt;The real problem is not that AI tools are not smart enough. They are brilliant. The problem is that &lt;strong&gt;they do not share memory.&lt;/strong&gt; Each tool is an island. Claude does not know what Copilot knows. Copilot does not know what Claude knows. And you the developer are the only bridge between them. Manually. Every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I built the Notion Memory Engine to burn that bridge down and replace it with something permanent.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is a system that turns Notion into a single shared brain for all your AI tools using Notion MCP. You finish a conversation in Claude, type &lt;code&gt;@memory -create&lt;/code&gt;, and Claude writes the full context decisions, code snippets, next steps directly into your Notion database. Then you open VS Code, ask GitHub Copilot about the same topic, and it reads from that exact same Notion database and picks up right where Claude left off.&lt;/p&gt;

&lt;p&gt;Same context. Different tool. No copy pasting. No starting over. No tax.&lt;/p&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/54SRnggzLFE"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;
&lt;h2&gt;
  
  
  Show us the code
&lt;/h2&gt;

&lt;p&gt;&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Bits232" rel="noopener noreferrer"&gt;
        Bits232
      &lt;/a&gt; / &lt;a href="https://github.com/Bits232/notion-memory-engine" rel="noopener noreferrer"&gt;
        notion-memory-engine
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A cross tool AI memory system using Notion MCP to save context in Claude, continue in VS Code Copilot. Built for the DEV.to x Notion MCP Challenge
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🧠 Notion Memory Engine&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;One Notion workspace. Multiple AI tools. Zero context loss.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Problem&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;You are deep in a conversation with Claude. Twenty minutes in. You have explained your entire project — the stack, the architecture, the decisions. The advice is flowing. The momentum is real.&lt;/p&gt;
&lt;p&gt;And then you need to actually write the code.&lt;/p&gt;
&lt;p&gt;You open VS Code. You open GitHub Copilot. And it hits you — Copilot has no idea what you and Claude just talked about. So you start copying and pasting. Grabbing context from one tab, dumping it into another. Summarizing your own conversation just to get a different AI up to speed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is the invisible tax every developer pays when working with multiple AI tools.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Solution&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;The &lt;strong&gt;Notion Memory Engine&lt;/strong&gt; turns Notion into a single shared brain for all your AI tools using the &lt;strong&gt;Notion MCP (Model Context Protocol)&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude reads…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Bits232/notion-memory-engine" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;The repo contains everything you need to replicate this from scratch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;system-prompt.md&lt;/code&gt; — the full protocol page to paste into Notion&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;notion-setup.md&lt;/code&gt; — how to set up your workspace&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;claude-setup.md&lt;/code&gt; — connecting Notion MCP to Claude&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;vscode-setup.md&lt;/code&gt; — connecting Notion MCP to VS Code Copilot&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;other-tools.md&lt;/code&gt; — extending to Cursor, Windsurf, Claude Desktop, and more&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;Notion MCP is not a feature in this project. It is the entire foundation. Without it, none of this exists.&lt;/p&gt;

&lt;p&gt;Here is exactly what it enables step by step:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Notion holds the System Prompt that gives Claude its behavior
&lt;/h3&gt;

&lt;p&gt;The entire memory protocol, the rules, the commands, the safeguards lives inside a single Notion page called &lt;strong&gt;System Prompt&lt;/strong&gt;. When you start a new conversation, you send Claude one message:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Please read my Notion page titled "System Prompt" and follow the protocol.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude reaches into Notion via MCP, reads that page, and responds with the initialization handshake:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🧠 Memory Engine Online
Ready for @memory commands.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That is it. The engine is live. And because the protocol lives in Notion, you can change Claude's behavior anytime just by editing a page — no code, no config files, no redeployment.&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%2Fd5s83pgwe3j89nettrtl.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%2Fd5s83pgwe3j89nettrtl.png" alt="The System Prompt page — one Notion page that controls Claude's entire memory behavior" width="800" height="514"&gt;&lt;/a&gt;&lt;br&gt;
The System Prompt page — one Notion page that controls Claude's entire memory behavior&lt;/p&gt;
&lt;h3&gt;
  
  
  2. Claude saves your conversations directly into Notion on command
&lt;/h3&gt;

&lt;p&gt;When you are deep in a conversation and want to preserve it, you type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@memory -create medium
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude looks at the entire conversation, generates a descriptive title, picks a category, writes a full technical summary with code snippets and next steps, and saves it into your Notion database through MCP. Live. While you watch.&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%2Feu51j23nje16qntt4ngr.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%2Feu51j23nje16qntt4ngr.png" alt="Claude initializing after reading the System Prompt from Notion via MCP" width="800" height="314"&gt;&lt;/a&gt;&lt;br&gt;
Claude initializing after reading the System Prompt from Notion via MCP &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%2Fbgol37ki18c4k4h4454p.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%2Fbgol37ki18c4k4h4454p.png" alt="Claude confirming it saved the conversation context directly into Notion " width="689" height="517"&gt;&lt;/a&gt;&lt;br&gt;
Claude confirming it saved the conversation context directly into Notion &lt;/p&gt;

&lt;h3&gt;
  
  
  3. The entry appears in Notion instantly
&lt;/h3&gt;

&lt;p&gt;Switch to Notion right after and the new entry is already there — title, category, and the full technical content Claude just wrote.&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%2Fzupc8bqwsib0upptnwpq.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%2Fzupc8bqwsib0upptnwpq.png" alt="The entry Claude just created — structured, searchable, permanent " width="800" height="291"&gt;&lt;/a&gt;&lt;br&gt;
The entry Claude just created — structured, searchable, permanent &lt;/p&gt;

&lt;h3&gt;
  
  
  4. All connected AI reads from the same database
&lt;/h3&gt;

&lt;p&gt;This is the moment the whole system clicks.&lt;/p&gt;

&lt;p&gt;Every AI connects to the same Notion workspace through its own independent MCP connection. It has never seen your Claude conversation. It does not know your project. But when you ask it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"What do we have saved about our project in Notion?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It reaches into the same database, finds Claude's entry, and responds with full context ready to continue exactly where you left off. Two completely separate AI tools. One shared brain.&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%2Froi085erdjz3wvbh9uuh.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%2Froi085erdjz3wvbh9uuh.png" alt="VS Code Copilot reading the same Notion database — no copy pasting, no context loss " width="800" height="498"&gt;&lt;/a&gt;&lt;br&gt;
VS Code Copilot reading the same Notion database — no copy pasting, no context loss &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%2F6e8raq73kn5yb7wqcd8w.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%2F6e8raq73kn5yb7wqcd8w.png" alt="Update" width="800" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Updating the memory after working in VS Code, the same entry in Notion now reflects the latest progress&lt;/p&gt;

&lt;h3&gt;
  
  
  5. The Unique Title Rule keeps your database clean automatically
&lt;/h3&gt;

&lt;p&gt;Before Claude creates any new entry, it searches the database for a matching title. If one exists, it stops and asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Memory 'Django Auth Setup' already exists. Update instead? (yes/no)"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No duplicates. No clutter. The database stays organized without you doing anything.&lt;/p&gt;

&lt;h3&gt;
  
  
  The four commands
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@memory -read [Title]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Load a specific entry back into Claude's context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@memory -create short/medium/full&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Save conversation at your chosen detail level&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@memory -update&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Append new progress to an existing entry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@memory -search [keyword]&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search all entries by keyword with previews&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Why This Matters Beyond the Demo
&lt;/h2&gt;

&lt;p&gt;I want to be direct about something.&lt;/p&gt;

&lt;p&gt;Most people treat AI context loss as an inconvenience. I started treating it as a systems problem and once you see it that way, the solution becomes obvious. You do not fix memory loss by trying to make each AI tool smarter in isolation. You fix it by giving all the tools a shared external memory they can all read from and write to.&lt;/p&gt;

&lt;p&gt;Notion with MCP is that memory layer.&lt;/p&gt;

&lt;p&gt;What makes this different from other memory solutions is that it is &lt;strong&gt;tool-agnostic&lt;/strong&gt;. It does not matter which AI tool you use. If it supports MCP, it connects to the same brain. Today it is Claude and VS Code Copilot. Tomorrow you add Cursor, Windsurf, or the Claude Desktop app and they instantly have access to every conversation you have ever saved. The more tools you connect, the more powerful the system becomes, and you do not have to change anything.&lt;/p&gt;

&lt;p&gt;I built this because I was genuinely tired of being the memory layer myself. Every time I switched tools, I was the one bridging the gap — manually, repeatedly, forever. The Notion Memory Engine means I never have to do that again.&lt;/p&gt;

&lt;p&gt;And neither do you.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built for the DEV.to x Notion MCP Challenge. Full setup guide and repo above, replicate it in under 30 minutes.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>If your code starts with Give me a variable...' you are the problem.</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Thu, 05 Feb 2026 09:46:49 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/if-your-code-starts-with-give-me-a-variable-you-are-the-problem-2dj1</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/if-your-code-starts-with-give-me-a-variable-you-are-the-problem-2dj1</guid>
      <description>&lt;p&gt;Every era of programming has introduced a new layer of abstraction. First, we abstracted the hardware. Now, with AI, we are abstracting the logic itself. We're not just coding at a higher level we're operating in a new meta language.&lt;/p&gt;

&lt;p&gt;I want you to look at these three lines.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;code&gt;MOV AX, 0x2A&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt; &lt;code&gt;int result = 42;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt; &lt;code&gt;"Give me a variable with the answer to life."&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each line does roughly the same thing. But the journey each one takes to become something a CPU understands is a map of our entire industry, and it shows where we're headed next.&lt;/p&gt;

&lt;p&gt;I'm worried about the third one. I think it's creating a new kind of developer one who is fast, efficient, but ultimately fragile. Let me explain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 1: Talking to the Metal
&lt;/h2&gt;

&lt;p&gt;The first line is &lt;strong&gt;Assembly&lt;/strong&gt;. There is almost zero abstraction. You are moving a literal value (&lt;code&gt;0x2A&lt;/code&gt;, which is 42) into a specific register (&lt;code&gt;AX&lt;/code&gt;) on the CPU. The compilation chain was beautifully simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Your Brain -&amp;gt; Assembly -&amp;gt; Machine Code

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To do this, you &lt;em&gt;had&lt;/em&gt; to understand the machine. You thought about memory addresses, registers, and clock cycles. There was no hiding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 2: The Great Abstraction
&lt;/h2&gt;

&lt;p&gt;Then came &lt;strong&gt;high-level languages&lt;/strong&gt; like C. The second line, &lt;code&gt;int result = 42;&lt;/code&gt;, was a revolution. It let you think about &lt;em&gt;ideas&lt;/em&gt; (an integer variable) instead of hardware (a CPU register).&lt;/p&gt;

&lt;p&gt;The compilation chain got longer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Your Brain -&amp;gt; C Code -&amp;gt; Compiler -&amp;gt; Assembly -&amp;gt; Machine Code

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And with it came the first great debate. The assembly programmers saw it coming. &lt;strong&gt;"This will make weaker developers!"&lt;/strong&gt; they argued. "You're losing the connection to the machine! You won't understand what's &lt;em&gt;really&lt;/em&gt; happening!"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They weren't wrong. I'm living proof.&lt;/strong&gt; I can write Python and JavaScript all day. I don't truly know how memory is allocated. I've never manually managed a heap. An entire layer of understanding was traded away for a massive explosion in what we could build. We exchanged depth for breadth, and it worked... until you hit a bug that existed in that hidden layer and you had no tools to find it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Layer 3: Abstracting the Thinker
&lt;/h2&gt;

&lt;p&gt;Now we're here. The third line isn't code; it's a &lt;strong&gt;description of intent&lt;/strong&gt;. "Vibe coding." The AI takes your vibe, interprets it, and writes the high-level code for you.&lt;/p&gt;

&lt;p&gt;The chain is now fundamentally different:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Your Vibe -&amp;gt; AI -&amp;gt; Python/JS -&amp;gt; (Compiler/Interpreter) -&amp;gt; Assembly -&amp;gt; Machine Code

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We've added a new, fundamental layer: &lt;strong&gt;Natural Language to Code&lt;/strong&gt;. We're no longer just abstracting the machine; we're abstracting the &lt;em&gt;logical thinking&lt;/em&gt; itself. The AI is doing the step-by-step translation from human problem to formal solution.&lt;/p&gt;

&lt;p&gt;This is the progression: &lt;strong&gt;Assembly -&amp;gt; High-Level -&amp;gt; Natural Language&lt;/strong&gt;. Each step made us more powerful and took us further from the core truth of the machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Fear: The Rise of the Prompt Technician
&lt;/h2&gt;

&lt;p&gt;The old debate is back, but the stakes are higher. High-level languages risked creating developers who didn't understand the hardware. AI powered development risks creating developers who don't understand the &lt;strong&gt;software&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Can you debug a block of AI-generated code when it has a subtle logic error the AI didn't catch?&lt;/li&gt;
&lt;li&gt;  Can you optimize an algorithm you didn't design?&lt;/li&gt;
&lt;li&gt;  Can you explain &lt;em&gt;why&lt;/em&gt; a solution works, not just that it does?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or have you become a &lt;strong&gt;prompt technician&lt;/strong&gt; skilled at negotiating with a black box, but unable to build or repair the machinery inside it?&lt;/p&gt;

&lt;h2&gt;
  
  
  This Isn't About Stopping Progress
&lt;/h2&gt;

&lt;p&gt;I'm not saying "turn off the AI." That's impossible and foolish. The shift from Assembly to C was inevitable and good. The shift to AI is the same.&lt;/p&gt;

&lt;p&gt;The question is one of &lt;strong&gt;consciousness&lt;/strong&gt;. The developers who thrived in the C era weren't the ones who forgot assembly existed; they were the ones who knew &lt;em&gt;when&lt;/em&gt; to drop down a level. They understood the model beneath the abstraction.&lt;/p&gt;

&lt;p&gt;Our job now is to build that same awareness. Use AI to generate the first draft, to explore ideas, to handle boilerplate. But then &lt;strong&gt;own the second draft&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Read the code it writes. Tear it apart. Rewrite it. Ask "why" until you understand. If you don't, you've just outsourced your core competency. Speed is not a substitute for understanding.&lt;/p&gt;

&lt;p&gt;We're standing at the newest layer of abstraction. Let's use it to climb higher, not to forget the ground we're standing on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you think?&lt;/strong&gt; Has the abstraction ever bitten you? How do you make sure you're still the engineer in the room?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>discuss</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>My Coding Attention Span Is Gone. Is AI to Blame?</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Wed, 14 Jan 2026 14:00:42 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/my-coding-attention-span-is-gone-is-ai-to-blame-1pm7</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/my-coding-attention-span-is-gone-is-ai-to-blame-1pm7</guid>
      <description>&lt;h2&gt;
  
  
  The Journey That Was
&lt;/h2&gt;

&lt;p&gt;A few years ago, building the frontend for my app was a &lt;strong&gt;journey&lt;/strong&gt;. I'd sit down, get into the zone, and wrestle with the code. There was frustration, sure, but there was also a deep, electric excitement when it finally came to life. I wasn't just building a feature; I was learning, problem-solving, and growing.&lt;/p&gt;

&lt;p&gt;Today, I can't do that anymore.&lt;/p&gt;

&lt;h2&gt;
  
  
  The New Reflex
&lt;/h2&gt;

&lt;p&gt;I can't sit down and write code for a side project or even a crucial piece of work without immediately reaching for AI. My first thought isn't "How do I solve this?" It's "&lt;strong&gt;What prompt do I write?&lt;/strong&gt;"&lt;/p&gt;

&lt;p&gt;It feels like a superpower has been grafted onto my workflow. But lately, I've started asking a terrifying question: &lt;strong&gt;Is this power making me weaker?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Here's My Confession
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. I've lost the ability to just... start.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The blank editor window now induces anxiety, not possibility. My reflex is to populate it instantly with an AI generated scaffold. The &lt;strong&gt;act of creation&lt;/strong&gt; has been outsourced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. My "debugging patience" has evaporated.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Staring at an error for 15 minutes? Unthinkable. I paste it, get the fix, and move on. I get the "what," but I'm losing the "why." That deep, structural understanding that comes from the struggle is gone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. My most improved skill isn't coding—it's prompting.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
I'm a more efficient manager of an AI, but I fear I'm becoming a less competent engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. And here's the weirdest side effect: I feel stagnant.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This was my original worry. I'm moving faster than ever, but I feel like I'm running in place. I'm not pushing my own boundaries; I'm just instructing something else to do it. The fatigue I feel isn't the deep burnout from intense focus—it's the shallow exhaustion of constant context-switching and prompt-tweaking.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Paradox
&lt;/h2&gt;

&lt;p&gt;It's a paradox: the tool designed to eliminate friction and blockers might be creating the biggest blocker of all—&lt;strong&gt;a stunted, impatient, and dependent developer brain.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm not saying AI is bad. It's revolutionary. But like any powerful tool, it demands intentional use. Right now, I'm on autopilot, and it's leading me straight into a skill ceiling.&lt;/p&gt;

&lt;h2&gt;
  
  
  I Suspect I'm Not Alone
&lt;/h2&gt;

&lt;p&gt;So I'm putting this out there to our community:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have you felt your own attention span for deep coding work shrink?&lt;/li&gt;
&lt;li&gt;Do you miss the "deep flow" state, or has AI replaced it with something more frantic?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Most importantly: How are you fighting the brainrot?&lt;/strong&gt; How do you balance the insane leverage of AI with the need to keep your own skills sharp and your curiosity alive?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Small Rebellion
&lt;/h2&gt;

&lt;p&gt;I'm starting small. I'm trying "no-AI" coding hours. I'm forcing myself to read the official docs again. I'm building a tiny, stupid project with no goal other than to remember what it feels like to think for myself.&lt;/p&gt;

&lt;p&gt;This isn't a rant against AI. It's a plea for awareness. Let's talk about the &lt;strong&gt;cost of the shortcut&lt;/strong&gt; before we forget what the long road even feels like.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Damn. I'm cooked. I couldn't even have written this post without ChatGPT 💀&lt;br&gt;
.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>Building my MVP: Glyph — Your AI-Powered Writing Assistant</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Sun, 04 Jan 2026 13:58:34 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/building-my-mvp-glyph-your-ai-powered-writing-assistant-3e83</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/building-my-mvp-glyph-your-ai-powered-writing-assistant-3e83</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/mux-2025-12-03"&gt;DEV's Worldwide Show and Tell Challenge Presented by Mux&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built the MVP of my startup called Glyph.&lt;/p&gt;

&lt;p&gt;Glyph is a word editor with an AI assistant that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Write for you from scratch&lt;/li&gt;
&lt;li&gt;Edit text however you like&lt;/li&gt;
&lt;li&gt;Answer questions about what you're writing&lt;/li&gt;
&lt;li&gt;Let you write yourself if you prefer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also upload videos (like meetings or lectures) and get a clean transcript right in the editor.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Pitch Video
&lt;/h2&gt;

&lt;p&gt;

&lt;iframe src="https://player.mux.com/ElSZLid3A5370287ZVqnf00l3ysQ02SxWmxQwHJu26uZnA" width="710" height="399"&gt;
&lt;/iframe&gt;



&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://glyph-ochre.vercel.app" rel="noopener noreferrer"&gt;https://glyph-ochre.vercel.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Credentials for Judges:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Email:&lt;/strong&gt; &lt;code&gt;test@glyph.com&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Password:&lt;/strong&gt; &lt;code&gt;GlyphTest2026&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;📝 Important Demo Notes for Judges:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For the best experience, please use a &lt;strong&gt;desktop or laptop browser&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;video-to-text feature&lt;/strong&gt; requires a direct, public URL to a video file (e.g., &lt;code&gt;.mp4&lt;/code&gt;, &lt;code&gt;.mov&lt;/code&gt;).

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;It does not support:&lt;/em&gt; YouTube links, private videos, or files behind authentication.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;To make testing easy, here are a few sample video URLs you can use:

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/WeAreGoingOnBullrun.mp4" rel="noopener noreferrer"&gt;http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/WeAreGoingOnBullrun.mp4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/SubaruOutbackOnStreetAndDirt.mp4" rel="noopener noreferrer"&gt;https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/SubaruOutbackOnStreetAndDirt.mp4&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Story Behind It
&lt;/h2&gt;

&lt;p&gt;As a student and developer, I constantly write blogs, emails, assignments, documentation. I also worked at a company where I dealt with a lot of typing, and I knew how stressful it was. I've felt the frustration of the blank page, the inefficiency of jumping between research tabs, and the time lost manually transcribing meeting notes.&lt;/p&gt;

&lt;p&gt;You spend hours typing and thinking: "What word comes next? Where should this punctuation mark go?" It's hard figuring out what words come after the next word, where to put punctuation marks.&lt;/p&gt;

&lt;p&gt;I've always wanted something to help something accessible I could use without installing, that was affordable and actually solved my problem. Many experiences like this led me to creating Glyph.&lt;/p&gt;

&lt;p&gt;It is my solution to make writing faster, less stressful, and more focused on ideas rather than mechanics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Highlights
&lt;/h2&gt;

&lt;p&gt;Glyph is a full-stack web application built for clarity and speed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; A responsive interface built with vanilla HTML/CSS/JavaScript, using &lt;a href="https://tiptap.dev/" rel="noopener noreferrer"&gt;TipTap&lt;/a&gt; as the core rich-text editor for a smooth, native writing feel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Django handles API logic, user session management, and orchestrates between services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Engine:&lt;/strong&gt; For this MVP, I'm using the Groq API with the Llama 3 model. I prioritized cost efficiency by using a lightweight LLM that handles basic text operations well. This keeps the app free for users while we validate the concept. We can easily swap to GPT-4 or Claude for production if needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video Intelligence:&lt;/strong&gt; This is where &lt;strong&gt;Mux&lt;/strong&gt; shines. The backend uses the Mux Video API and its AI-powered auto-captioning to asynchronously process uploaded videos, returning clean, structured transcripts directly into the Glyph editor.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Vision:&lt;/strong&gt; This MVP validates the core workflow. The roadmap includes more advanced AI models, real-time collaboration, image-to-text analysis, and deeper document management features.&lt;/p&gt;

&lt;h3&gt;
  
  
  Use of Mux (Additional Prize Category Participants Only)
&lt;/h3&gt;

&lt;p&gt;Mux was the MVP behind my MVP (pun intended 😄). I used it for the video-to-text feature — and this is definitely a feature I'm keeping.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;br&gt;
When you upload a video in Glyph, here's the code that makes it work:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Create a Mux asset with auto-generated English captions
&lt;/span&gt;&lt;span class="n"&gt;create_payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;input&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;video_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;generated_subtitles&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;language_code&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;en&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# English captions
&lt;/span&gt;                    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;English CC&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
                &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;playback_policy&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;public&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# POST to Mux API
&lt;/span&gt;&lt;span class="n"&gt;create_response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;https://api.mux.com/video/v1/assets&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;create_payload&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I integrated the Mux Video API to handle the entire "video-to-document" pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; A user provides a public video URL in Glyph.&lt;/li&gt;
&lt;li&gt; My Django backend creates a Mux Asset with a request for auto-generated captions (&lt;code&gt;generated_subtitles&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt; I listen for the &lt;code&gt;video.asset.track.ready&lt;/code&gt; from Mux to know when the transcript is ready.&lt;/li&gt;
&lt;li&gt; Once ready, my backend fetches the plain-text transcript from Mux and injects it as a beautifully formatted draft into the user's Glyph editor.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This isn't just a transcript feature. Here's how it blends perfectly with Glyph's AI writing tools:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📝 Blog from Video:&lt;/strong&gt; Record a product demo → Get transcript → Ask Glyph "Turn this into a blog post" → Publish in minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎓 Research Made Easy:&lt;/strong&gt; Have a 2-hour lecture recording? Get the transcript → Ask "Summarize key points" → Use Glyph to expand into research notes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💼 Meeting Magic:&lt;/strong&gt; Team meeting recorded → Get action items → Use Glyph to draft follow-up emails and project plans.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✍️ Content Repurposing:&lt;/strong&gt; Podcast episode → Transcript → Glyph helps turn it into tweets, LinkedIn posts, and newsletter content.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why This Blends Perfectly with Glyph:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most tools stop at transcription. Glyph makes the transcript actionable. You can:&lt;/p&gt;

&lt;p&gt;Immediately edit it with AI commands&lt;/p&gt;

&lt;p&gt;Ask questions about specific parts&lt;/p&gt;

&lt;p&gt;Transform it into any format you need&lt;/p&gt;

&lt;p&gt;All within the same clean interface&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Experience:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building this was remarkably straightforward. Mux's documentation is clear, their APIs are intuitive, and it fits perfectly into a user-friendly flow. What could have been a complex, weeks-long integration was up and running in a matter of days, allowing me to focus on the unique user experience Glyph provides around that transcript. This feature is a core part of Glyph's value proposition and wouldn't be in this MVP without Mux.&lt;/p&gt;

&lt;p&gt;Shoutout to Mux!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Personal Note:&lt;/strong&gt; If Glyph resonates with you, I'd be incredibly grateful if you joined the waitlist via the link on the login page. Your interest helps guide what I build next. Feel free to reach out here on DEV with any questions or feedback!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>muxchallenge</category>
      <category>showandtell</category>
      <category>video</category>
    </item>
    <item>
      <title>I Taught Postgres to Fight Hackers - And It Worked (Agent Auth)</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Mon, 10 Nov 2025 04:32:52 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/i-taught-postgres-to-fight-hackers-and-it-worked-agent-auth-281i</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/i-taught-postgres-to-fight-hackers-and-it-worked-agent-auth-281i</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/agentic-postgres-2025-10-22"&gt;Agentic Postgres Challenge with Tiger Data&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Okay, let's be real, what I built is a little bit crazy. But when the challenge said "build something that makes us say 'I didn't know you could do that!'", I went all in.&lt;/p&gt;

&lt;p&gt;Here's the problem that keeps developers up at night: user input is terrifying. You build a nice little form, users type into it, and suddenly you're dealing with SQL injection, credential stuffing, and attacks you didn't even know existed.&lt;/p&gt;

&lt;p&gt;You try regex rules, you try validation, but it's like playing whack-a-mole with hackers. What about the attacks nobody's seen before? The ones that slip through every known defense?&lt;/p&gt;

&lt;p&gt;That's where Agent Auth comes in. I built an AI security guardian that watches over your input fields like a hyper-vigilant bouncer. It's like having a security expert manually checking every single user input before it hits your database, except this expert never sleeps, never gets tired, and learns from every attack attempt.&lt;/p&gt;

&lt;p&gt;The lightbulb moment? Imagine if you could personally vet every form submission. You'd catch everything, right? That's the magic we're bringing to the digital world.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;See the Code&lt;/strong&gt;: &lt;a href="https://github.com/Bits232/Agent_auth" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Watch it in Action&lt;/strong&gt;: &lt;a href="https://youtu.be/Or9Jl9IxNDw?si=AwqVA0WUKFUaVL_o" rel="noopener noreferrer"&gt;Video demo&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Test the Site&lt;/strong&gt;: &lt;a href="https://agent-auth.vercel.app/" rel="noopener noreferrer"&gt;Live Link&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Agentic Postgres
&lt;/h2&gt;

&lt;p&gt;I dedicated significant time to exploring the full range of Agentic Postgres capabilities. I experimented with the Tiger CLI for deployment workflows and tested the MCP server for potential AI model integration. While these tools showed promise for different use cases, I ultimately focused on pg_text_search as the foundation for my security solution because it offered the most practical and performant approach for real-time threat detection.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Technical Architecture
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;pg_text_search&lt;/strong&gt;: As the First Line of Defense&lt;br&gt;
I chose pg_text_search over traditional regex patterns because it operates at the database level with significantly better performance characteristics, it is like Where regex requires complex pattern matching that scales poorly with rule complexity, pg_text_search uses optimized text indexing that maintains consistent performance even as the threat database grows. it is like writing so little to catch so many, whereas normally you write so many to catch so little. This meant I could implement comprehensive security checks without introducing latency into the authentication flow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Timescale Postgres as the Security Brain:&lt;/strong&gt;&lt;br&gt;
The database serves as the central intelligence hub. By leveraging Timescale's performance optimizations, the system maintains historical context about attack attempts while providing the real-time processing speed needed for authentication security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Strategic AI Integration with Groq&lt;/strong&gt;:&lt;br&gt;
For cases that require deeper analysis, the system escalates to Groq AI. This isn't a replacement for the database-level protection but rather a specialized tool for analyzing novel or sophisticated attacks that don't match known patterns. The AI component focuses on understanding intent and context rather than simple pattern matching.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Architecture Matters
&lt;/h3&gt;

&lt;p&gt;The decision to build around pg_text_search was deliberate. Database-level security provides several critical advantages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt; Security checks happen where the data lives, eliminating network latency&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistency:&lt;/strong&gt; The same security logic applies regardless of how data is accessed&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Maintainability&lt;/strong&gt;: Security rules are centralized rather than scattered across application code&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt;: The system can handle increased load without degrading security coverage&lt;/p&gt;

&lt;p&gt;I did explore using database forks for creating isolated testing environments where suspicious inputs could be safely analyzed. While the concept showed promise for advanced threat research, I prioritized building a robust production-ready solution first. The fork capability remains an area for future enhancement, particularly for organizations needing sandboxed security testing.&lt;/p&gt;

&lt;p&gt;This architecture represents a shift from treating the database as passive storage to making it an active participant in application security. The result is a system that gets smarter over time while maintaining the performance characteristics needed for production authentication systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshot from App
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Why Choose Agent Auth&lt;/strong&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%2Fyi7sgt2mh5lescmb4jd7.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%2Fyi7sgt2mh5lescmb4jd7.png" alt="Why Choose Agent Auth" width="800" height="356"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Demo Page&lt;/strong&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%2F7yh7gqh648nvhzim2zkd.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%2F7yh7gqh648nvhzim2zkd.png" alt="Demo Page" width="800" height="383"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Testing Normal Input&lt;/strong&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%2Ffzuxydxogjmz4d6x9qvi.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%2Ffzuxydxogjmz4d6x9qvi.png" alt="Testing Normal Input" width="800" height="381"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Testing Malicious Input&lt;/strong&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%2F4zi6emzffc2s07ftwhic.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%2F4zi6emzffc2s07ftwhic.png" alt="Testing Malicious Input" width="800" height="382"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Malicious Input Blocked&lt;/strong&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%2Fj0939a5ouzq4v12hovgq.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%2Fj0939a5ouzq4v12hovgq.png" alt="Malicious Input Blocked" width="800" height="383"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Normal Input Allowed&lt;/strong&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%2F2wpgzuw0zq27codgasnp.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%2F2wpgzuw0zq27codgasnp.png" alt="Normal Input Allowed" width="800" height="383"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Overall Experience
&lt;/h2&gt;

&lt;p&gt;Building with Agentic Postgres was equal parts exciting and challenging. The documentation was solid, but I found myself wishing for more real-world examples of these features in production environments.&lt;/p&gt;

&lt;p&gt;What surprised me was how natural it felt to make the database more active in its own defense. It's not just sitting there waiting to be attacked anymore.&lt;/p&gt;

&lt;p&gt;The biggest challenge was balancing performance with security. Every millisecond counts in authentication flows, so I had to be smart about when to use the heavier AI analysis versus the faster pattern matching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Important Security Notice &amp;amp; Future Roadmap
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Current Testing Considerations
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Please note:&lt;/strong&gt; During testing and demonstration, I strongly recommend not using real login information. The current implementation uses public AI services for threat analysis, and while I've implemented basic security measures, this version is designed for evaluation and development purposes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Evolution Plan
&lt;/h3&gt;

&lt;p&gt;Looking ahead, I'm planning several key security improvements:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Local AI Processing:&lt;/strong&gt; Future versions will move sensitive analysis to locally-hosted models, keeping credential validation entirely within your infrastructure. This eliminates external data exposure while maintaining the intelligent threat detection capabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhanced Data Handling:&lt;/strong&gt; I'm implementing proper data anonymization techniques where only pattern signatures (not actual credentials) are processed by external services.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Zero-Trust Architecture:&lt;/strong&gt; The system will evolve to include strict access controls, comprehensive audit logging, and encrypted data handling throughout the security pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why This Matters
&lt;/h3&gt;

&lt;p&gt;I believe in being transparent about security limitations while demonstrating the potential of the technology. The current implementation shows what's possible with Agentic Postgres, while the roadmap addresses the practical security concerns that would be essential for production deployment.&lt;/p&gt;

&lt;p&gt;This approach allows developers to experiment with the concept while understanding the security considerations involved in building AI-enhanced authentication systems.&lt;/p&gt;

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

&lt;p&gt;I'm treating this as version one. There's so much more to explore:&lt;/p&gt;

&lt;p&gt;Proper sandboxing with database forks for safe attack analysis&lt;/p&gt;

&lt;p&gt;Community-driven threat intelligence sharing&lt;/p&gt;

&lt;p&gt;Fine-grained controls for different security levels&lt;/p&gt;

&lt;p&gt;Better transparency about what the system is detecting and why&lt;/p&gt;

&lt;p&gt;I'd love feedback from other developers - especially about the security implications and what features would actually be useful in real projects.&lt;/p&gt;

&lt;p&gt;This feels like the beginning of making databases active participants in their own security rather than passive targets. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This challenge pushed me to think differently about what databases can do. Agentic Postgres isn't just about storing data - it's about making data work smarter. I'm excited to keep refining this approach and seeing how the community builds on these ideas.&lt;/p&gt;

&lt;p&gt;Thanks to Tiger Data for the inspiring challenge!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>agenticpostgreschallenge</category>
      <category>ai</category>
      <category>postgres</category>
    </item>
    <item>
      <title>Meet Bugsy, Your AI Web Bug Hunter</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Sat, 30 Aug 2025 01:19:57 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/meet-bugsy-your-ai-web-bug-hunter-4dm3</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/meet-bugsy-your-ai-web-bug-hunter-4dm3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/brightdata-n8n-2025-08-13"&gt;AI Agents Challenge powered by n8n and Bright Data&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Meet Bugsy — my AI-powered bug hunter. Bugsy works as an ethical agent that scans websites for common security exposures and gently waves a red flag when it finds something risky.&lt;/p&gt;

&lt;p&gt;Think of it as a tireless security intern who never sleeps, never complains, and always documents what it finds.&lt;/p&gt;

&lt;p&gt;The goal? To give developers and site owners an extra set of AI eyes to spot things like:&lt;/p&gt;

&lt;p&gt;🔑 Leaky environment variables&lt;/p&gt;

&lt;p&gt;🗝️ Accidentally exposed API keys&lt;/p&gt;

&lt;p&gt;⚠️ Security misconfigurations&lt;/p&gt;

&lt;p&gt;📂 Sensitive data accidentally exposed in public files&lt;/p&gt;

&lt;p&gt;This is not about attacking systems — it’s about raising awareness and improving security hygiene in a world where even the smallest mistake can snowball.&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%2Fni3emj5hlgdy3mo020e1.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%2Fni3emj5hlgdy3mo020e1.png" alt=" " width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://youtu.be/K3nh9MAFDlQ?si=B9stDoscnu2Nr_gq" rel="noopener noreferrer"&gt;Demo Video&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  n8n Workflow
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/Bits232/3e5c275ec91fe52837fe9e2472de2ddc" rel="noopener noreferrer"&gt;n8n workflow&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Implementation
&lt;/h2&gt;

&lt;p&gt;Bugsy was built inside n8n, designed as a careful and ethical agent:&lt;/p&gt;

&lt;p&gt;System Instructions: The agent is explicitly instructed to act only as a security scanner, focusing on detection and reporting (never exploitation).&lt;/p&gt;

&lt;p&gt;Model Choice: gpt-oss-20b — chosen for its balance of reasoning ability and lightweight contextual memory.&lt;/p&gt;

&lt;p&gt;Memory: Short-term memory for scanning logic, with no sensitive data retention.&lt;/p&gt;

&lt;p&gt;Tools &amp;amp; Nodes:&lt;/p&gt;

&lt;p&gt;Bright Data Verified Node → safe, compliant web data collection&lt;/p&gt;

&lt;p&gt;Custom Logic Nodes → analyze response patterns, detect risky strings (e.g., AWS_SECRET_KEY=...)&lt;/p&gt;

&lt;p&gt;Markdown/HTML Report Generator → produce clean, developer-friendly summaries&lt;/p&gt;

&lt;h3&gt;
  
  
  Bright Data Verified Node
&lt;/h3&gt;

&lt;p&gt;This was the heart of the project. The Bright Data Verified Node acted like a seatbelt and airbag, ensuring Bugsy only interacted with public, accessible data — never crossing ethical or legal lines.&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%2F63vk3v654o8bkmpbsi7n.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%2F63vk3v654o8bkmpbsi7n.png" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;I started with a simple idea: what if an AI agent could act like a friendly security sidekick?&lt;/p&gt;

&lt;p&gt;The biggest challenge was balancing power with responsibility. A scanner can easily become too aggressive or invasive, but Bugsy needed to be effective and ethical.&lt;/p&gt;

&lt;h3&gt;
  
  
  Highlights along the way:
&lt;/h3&gt;

&lt;p&gt;Writing strict guardrails in the system prompt so Bugsy never attempts exploitation.&lt;/p&gt;

&lt;p&gt;Leveraging Bright Data’s verified infrastructure for compliance and peace of mind.&lt;/p&gt;

&lt;p&gt;The thrill (and mild panic 😅) when Bugsy actually discovered a live API key — which we responsibly reported to the site owner.&lt;/p&gt;

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

&lt;p&gt;security is often about small cracks in the wall that are easy to overlook. Bugsy shows that AI can help catch those cracks before someone malicious does.&lt;/p&gt;

&lt;h3&gt;
  
  
  Impact
&lt;/h3&gt;

&lt;p&gt;For Developers → A safety net to catch mistakes before code goes live.&lt;/p&gt;

&lt;p&gt;For Companies → Reduced risk of data leaks and misconfigurations.&lt;/p&gt;

&lt;p&gt;For the Community → Promotes ethical AI use in cybersecurity.&lt;/p&gt;

&lt;p&gt;Bugsy doesn’t replace professional security audits, but it provides a first line of defense — a friendly assistant to raise early red flags.&lt;/p&gt;

&lt;p&gt;Challenges Faced&lt;/p&gt;

&lt;p&gt;Ensuring scans remained ethical and non-invasive.&lt;/p&gt;

&lt;p&gt;Balancing false positives vs. false negatives — tuning detection patterns so Bugsy isn’t too noisy.&lt;/p&gt;

&lt;p&gt;Integrating n8n logic flows with AI reasoning while keeping performance fast.&lt;/p&gt;

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

&lt;p&gt;Bugsy is just the start 🚀. Planned next steps:&lt;/p&gt;

&lt;p&gt;Add scheduled scans with email/slack notifications.&lt;/p&gt;

&lt;p&gt;Expand detection rules to cover CORS misconfigurations, directory listings, and metadata leaks.&lt;/p&gt;

&lt;p&gt;Build a developer dashboard where reports can be stored, tracked, and prioritized.&lt;/p&gt;

&lt;p&gt;Experiment with multi-agent collaboration (one agent scans, another verifies).&lt;/p&gt;

&lt;h3&gt;
  
  
  Closing Thought
&lt;/h3&gt;

&lt;p&gt;Bugsy embodies the idea that AI can be a force for good in security. Instead of exploiting weaknesses, it shines a light on them — giving developers the chance to fix issues before they cause harm.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>n8nbrightdatachallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I Built a Movie Plot Finder Using Kiro</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Wed, 16 Jul 2025 23:16:02 +0000</pubDate>
      <link>https://dev.to/kirodotdev/i-built-a-movie-plot-finder-using-kiro-1f06</link>
      <guid>https://dev.to/kirodotdev/i-built-a-movie-plot-finder-using-kiro-1f06</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;For the Code with Kiro Hackathon, I created a fun and practical tool: a Movie Plot Finder where users can just type a vague movie description — like a scene, character, or event — and get actual movie recommendations instantly.&lt;br&gt;
All powered by AI.&lt;/p&gt;

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

&lt;p&gt;We've all had those moments:&lt;/p&gt;

&lt;p&gt;"What was that movie where a guy wakes up on a loop and keeps reliving the same day?"&lt;/p&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;p&gt;"I saw a movie years ago — a spaceship crew finds aliens inside a mysterious egg."&lt;/p&gt;

&lt;p&gt;Google often fails with vague memories. Most search engines need exact titles, actor names, or keywords.&lt;br&gt;
I wanted to fix that.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Kiro Changed My Dev Flow
&lt;/h2&gt;

&lt;p&gt;Normally, I’d spend hours setting up:&lt;br&gt;
React + Tailwind config&lt;br&gt;
State management&lt;br&gt;
API boilerplate&lt;br&gt;
Routing&lt;br&gt;
Layouts and CSS&lt;br&gt;
With Kiro, all of that was instantly scaffolded. That saved me at least 5–7 hours of setup.&lt;br&gt;
I could focus on the logic and UX, rather than wiring everything from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’d Improve Next
&lt;/h2&gt;

&lt;p&gt;With more time, I’d add:&lt;br&gt;
A memory/history of previous searches&lt;br&gt;
Allow filtering by genre, year, or actor&lt;br&gt;
Use smarter models for more accurate results&lt;br&gt;
But even as-is, it’s already helping friends identify old movie titles they forgot!&lt;/p&gt;

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

&lt;p&gt;Kiro honestly changed how I approach rapid development. Instead of wasting time on boilerplate, I could iterate quickly and focus on value.&lt;br&gt;
If you haven’t tried it, go to kiro.dev and give it a prompt. You might just build something amazing in 10 minutes.&lt;/p&gt;

</description>
      <category>kiro</category>
      <category>ai</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>Post title</title>
      <dc:creator>Isah Alamin</dc:creator>
      <pubDate>Wed, 16 Jul 2025 09:44:44 +0000</pubDate>
      <link>https://dev.to/isah_alamin_93d4e4d2ab01f/post-title-4am3</link>
      <guid>https://dev.to/isah_alamin_93d4e4d2ab01f/post-title-4am3</guid>
      <description>&lt;p&gt;This is the content&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
