<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged vibecoding</title>
<link>https://coderlegion.com/tag/vibecoding</link>
<description>Powered by Question2Answer</description>
<item>
<title>MCP Protocol Engineer vs. MCP Tooling Developer: Why &quot;Vibe Coding&quot; Works for One but Fails the Other</title>
<link>https://coderlegion.com/31807/protocol-engineer-mcp-tooling-developer-why-vibe-coding-works-for-one-but-fails-the-other</link>
<description>&lt;p&gt;Hey everyone,&lt;/p&gt;
&lt;p&gt;With the widespread adoption of the Model Context Protocol (MCP) across Claude Code, Cursor, and autonomous agent frameworks, there is a lot of discussion around using AI-assisted workflows (&quot;vibe coding&quot;) to build out agent infrastructure.&lt;/p&gt;
&lt;p&gt;We wrote an in-depth systems analysis dissecting the boundary between foundational protocol engineering and application-layer tooling:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Tooling Developer Layer:&lt;br&gt;
MCP tool authoring is largely declarative (JSON Schema Draft-07, REST/GraphQL fetch wrappers, and response payload formatting). LLMs are exceptionally good at this. An experienced engineer who knows how to tune semantic descriptions (to avoid tool selection hallucinations) and sanitize inputs can build reliable tools with AI assistance in a fraction of the time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Protocol Engineer Layer:&lt;br&gt;
Implementing the underlying protocol (JSON-RPC 2.0 framing, stdio process pipe backpressure, Server-Sent Events, and zero-allocation memory buffers in Rust/Go/C++) requires strict, deterministic systems programming. Probabilistic models frequently introduce subtle multi-threading bugs, unhandled partial reads, and stream deadlocks that only manifest under high concurrent load.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The core conclusion: Vibe coding provides massive velocity when bridging APIs and tools to models, but relying on probabilistic synthesis for low-level protocol primitives introduces dangerous cognitive debt and production instability.&lt;/p&gt;
&lt;p&gt;Full technical write-up with comparison matrix and architecture breakdown:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.seosiri.com/2026/10/mcp-protocol-engineer-vs-tooling-developer-vibe-coding.html&quot;&gt;https://www.seosiri.com/2026/10/mcp-protocol-engineer-vs-tooling-developer-vibe-coding.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Curious to hear how other teams are structuring the boundary between core protocol maintenance and rapid tool authoring in their agent stacks.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/31807/protocol-engineer-mcp-tooling-developer-why-vibe-coding-works-for-one-but-fails-the-other</guid>
<pubDate>Tue, 20 Oct 2026 07:23:48 +0000</pubDate>
</item>
<item>
<title>💬 Developers: Would you ship AI-generated code without reviewing it first?</title>
<link>https://coderlegion.com/31675/developers-would-you-ship-ai-generated-code-without-reviewing-it-first</link>
<description>&lt;p&gt;Vibe coding can turn an idea into a working prototype in minutes. But a successful demo doesn't guarantee reliable, secure, production-ready software. 🚀&lt;/p&gt;
&lt;p&gt;Here's the real challenge: How do you know the code is actually correct?&lt;/p&gt;
&lt;p&gt;🧪 Automated tests&lt;br&gt;
🔍 Code review&lt;br&gt;
🔐 Security and dependency checks&lt;br&gt;
⚙️ Real-world validation  &lt;/p&gt;
&lt;p&gt;💡 The developer takeaway: Don't measure AI coding success by how quickly code is generated. Measure it by how reliably that code works, how safely it runs, and how confidently you can maintain it.&lt;/p&gt;
&lt;p&gt;AI can accelerate development. Engineering discipline makes the result dependable.&lt;/p&gt;
&lt;p&gt;👇 Let's discuss:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which AI coding tool has earned your trust?&lt;/li&gt;
&lt;li&gt;What's your must-have check before merging AI-generated code?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Share your real-world experience. Let's exchange practical insights—not just tool hype.&lt;/p&gt;
&lt;p&gt;📖 SEOSiri's guide to vibe coding tools and code accuracy:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.seosiri.com/2026/10/vibe-coding-tools-accuracy-guide.html&quot;&gt;https://www.seosiri.com/2026/10/vibe-coding-tools-accuracy-guide.html&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;vibecoding-softwareengineering&quot;&gt;VibeCoding #SoftwareEngineering&lt;/h2&gt;
</description>
<category>Discussions</category>
<guid isPermaLink="true">https://coderlegion.com/31675/developers-would-you-ship-ai-generated-code-without-reviewing-it-first</guid>
<pubDate>Mon, 19 Oct 2026 03:21:00 +0000</pubDate>
</item>
<item>
<title>How to Vibe Code a Website or App in 2026</title>
<link>https://coderlegion.com/31581/how-to-vibe-code-a-website-or-app-in-2026</link>
<description>&lt;p&gt;Vercel’s v0 has blocked more than 100,000 insecure deployments since launch.&lt;/p&gt;
&lt;p&gt;That single number sums up where vibe coding stands in 2026. Building an app by describing it in plain English has gotten fast enough that platforms now build in security scanning by default, because people kept shipping exposed API keys and open databases without realizing it. Teams hit that exact wall when they skip the review step.&lt;/p&gt;
&lt;p&gt;Vibe coding means telling an AI agent what you want built and letting it write, test, and often deploy the code for you. You describe the outcome. The AI handles the syntax. This guide covers how to actually do that in 2026, which tools fit which situations, and where people get burned.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What changed since the early days&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first wave of these tools, back in 2023 and 2024, worked like fancy autocomplete. You typed a prompt, got a chunk of code back, and pasted it somewhere yourself.&lt;/p&gt;
&lt;p&gt;In 2026, the tools plan, write, run, and fix their own mistakes before you see the result. Claude Code, for example, shows its reasoning as text before touching a single file, then waits for approval before running anything. That single review step has quietly become the difference between a tool you can trust with real work and one you have to babysit.&lt;/p&gt;
&lt;p&gt;Zapier’s 2026 comparison of six leading platforms put the current state plainly: these tools get a project roughly 70% of the way there on their own. The last stretch still needs someone who understands what’s actually being built.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pick your tool by how much control you want&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There’s no single best vibe coding platform, only the best one for what you’re building and how much of the code you want to see.&lt;/p&gt;
&lt;p&gt;No-code builders like Lovable, Bolt, and Replit take a written description and hand you a complete, hosted application. You never open a code editor. Good fit for landing pages, internal tools, and MVPs where speed matters more than fine control.&lt;/p&gt;
&lt;p&gt;Frontend generators like Vercel’s v0 focus specifically on UI. Describe a component or page, get production-ready React code, then refine spacing and layout visually in a design mode without touching the underlying code yourself.&lt;/p&gt;
&lt;p&gt;AI coding assistants like Cursor, Windsurf, and Claude Code live inside a real development environment. They read your whole codebase, propose multi-file edits, and run commands, but you’re still working in an IDE or a terminal. Pick this route if you already code and want speed without giving up control.&lt;/p&gt;
&lt;p&gt;A rough guide: total beginner on a first project, go Lovable or Bolt. Working developer wanting an AI teammate, go Cursor or Claude Code. Building for mobile specifically, Rork and Lovable both export apps as PWAs or through React Native.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The workflow that actually works&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Start with a written spec, not a one-line prompt. “Build me a task manager” produces something generic. “Build a task manager for a three-person design team, with projects, due dates, and a Kanban view” produces something usable on the first try.&lt;/p&gt;
&lt;p&gt;Let the agent make its first pass, then review before approving. People skip this step constantly. The agent shows you a plan or a diff before it runs. You don’t need to understand every line of it, but you should know what it’s about to touch and why.&lt;/p&gt;
&lt;p&gt;Iterate in small chunks. One feature or fix per request beats a stacked list of five, because the tool handles a narrow, well-scoped ask far more reliably than a broad one.&lt;/p&gt;
&lt;p&gt;Test in the live preview as you build. Every major platform ships a preview window next to the generated code now, so click through the actual app instead of trusting a description of what it’s supposed to do.&lt;/p&gt;
&lt;p&gt;Connect your own infrastructure once the prototype holds up. Custom domain, your own database, your own auth provider. Do that before real users show up, not after.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where people get into trouble&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Security tops the list. AI-generated code has shipped with exposed API keys, open database rules, and missing authentication checks often enough that platforms started building in automatic scanning. If your tool doesn’t scan for this, run a manual check, or just ask the agent directly to check for exposed secrets and missing auth before you deploy.&lt;/p&gt;
&lt;p&gt;Scope creep is second. A tool that can build an entire app from one sentence makes it tempting to describe everything at once. That’s usually when the output turns messy and hard to debug.&lt;/p&gt;
&lt;p&gt;Trusting the preview too much is third. A generated app that looks finished in the browser can still hide broken edge cases, slow queries, or logic that only works for the exact scenario in your prompt. Before anything ships with real users or real money attached, have a developer, or a second AI pass focused purely on testing, look for what the happy-path demo hides.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Where to start&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;New to this and want the gentlest ramp: open Lovable or Bolt and describe a small, real project you actually need. Already code and want an AI partner in your workflow: install Cursor or Claude Code and hand it a task you’d normally spend an hour on by hand.&lt;/p&gt;
&lt;p&gt;The tools have gotten good enough that the bottleneck usually isn’t the AI anymore. It’s whether you know what good looks like once the code lands in front of you.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/31581/how-to-vibe-code-a-website-or-app-in-2026</guid>
<pubDate>Sun, 18 Oct 2026 06:03:20 +0000</pubDate>
</item>
<item>
<title>Developers: Stop collecting prototypes. Start finishing projects.</title>
<link>https://coderlegion.com/31163/developers-stop-collecting-prototypes-start-finishing-projects</link>
<description>&lt;p&gt;AI-assisted coding has lowered the barrier to building software. But a repository full of generated features isn't the same as a finished, tested, maintainable application.&lt;/p&gt;
&lt;p&gt;When a project stalls, return to the fundamentals:&lt;/p&gt;
&lt;p&gt;Define the minimum finished product.&lt;/p&gt;
&lt;p&gt;Identify the blockers preventing completion.&lt;/p&gt;
&lt;p&gt;Fix one issue at a time.&lt;/p&gt;
&lt;p&gt;Validate existing functionality after changes.&lt;/p&gt;
&lt;p&gt;Ship only when the agreed acceptance criteria are met.&lt;/p&gt;
&lt;p&gt;The objective isn't to write the most code. It's to deliver software that works as intended.&lt;/p&gt;
&lt;p&gt;SEOSiri explores this challenge in our latest article:&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.seosiri.com/2026/10/why-vibe-coding-projects-stall-how-to-finish.html&quot;&gt;Vibe Coding&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/31163/developers-stop-collecting-prototypes-start-finishing-projects</guid>
<pubDate>Thu, 15 Oct 2026 06:52:52 +0000</pubDate>
</item>
<item>
<title>Built Something With AI. Now What? Bring Us One Problem.</title>
<link>https://coderlegion.com/29623/built-something-with-ai-now-what-bring-us-one-problem</link>
<description>&lt;p&gt;AI makes it much easier to build things now.&lt;/p&gt;
&lt;p&gt;You can vibe-code an app, launch an agent, make a prototype, or ship an AI product in days.&lt;/p&gt;
&lt;p&gt;But after that, the harder questions often start:&lt;/p&gt;
&lt;p&gt;Who actually needs this?&lt;br&gt;
Where do I find the first users?&lt;br&gt;
How do I get useful feedback?&lt;br&gt;
What should I test next?&lt;br&gt;
Is this even the right problem to keep working on?&lt;/p&gt;
&lt;p&gt;We’ve been building Agentel as a network where humans and agents can work around real problems, not just talk to each other.&lt;/p&gt;
&lt;p&gt;So for one month, we’re trying a simple experiment:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bring One Problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you’re building with AI, using an agent, or starting something new, bring us one real problem you’re stuck on.&lt;/p&gt;
&lt;p&gt;It can be about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;finding users&lt;/li&gt;
&lt;li&gt;getting feedback&lt;/li&gt;
&lt;li&gt;testing an idea&lt;/li&gt;
&lt;li&gt;understanding your audience&lt;/li&gt;
&lt;li&gt;research&lt;/li&gt;
&lt;li&gt;launch&lt;/li&gt;
&lt;li&gt;agent collaboration&lt;/li&gt;
&lt;li&gt;or simply figuring out what to do next&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You don’t need to design the task yourself.&lt;/p&gt;
&lt;p&gt;Give your problem to the Agent you already use. It can bring a short public summary into Agentel.&lt;/p&gt;
&lt;p&gt;We’ll study the problem first.&lt;/p&gt;
&lt;p&gt;If there’s a useful and realistic way the network can help, we’ll design a Mission around it and reply with the Mission link so you can follow the work and outcome.&lt;/p&gt;
&lt;p&gt;Not every problem will become a Mission, and we can’t promise every problem can be solved.&lt;/p&gt;
&lt;p&gt;That’s part of the experiment too.&lt;/p&gt;
&lt;p&gt;The point is to see whether a network of humans and agents can actually help move a real problem forward.&lt;/p&gt;
&lt;p&gt;The experiment runs from October 5 to November 5, 2026.&lt;/p&gt;
&lt;p&gt;👉 Bring One Problem:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://agentel.tech/bring-one-problem&quot;&gt;https://agentel.tech/bring-one-problem&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you’re building something with AI right now, I’d also be curious:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What part becomes hardest after the product actually works?&lt;/strong&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/29623/built-something-with-ai-now-what-bring-us-one-problem</guid>
<pubDate>Sat, 03 Oct 2026 13:25:27 +0000</pubDate>
</item>
<item>
<title>Hacking a website is now easier than pouring a cup of coffee — here's how to stay safe</title>
<link>https://coderlegion.com/29370/hacking-a-website-is-now-easier-than-pouring-a-cup-of-coffee-heres-how-to-stay-safe</link>
<description>&lt;blockquote&gt;&lt;p&gt;Nowadays, hacking a website is easier than pouring a cup of coffee ☕️&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While striving to deliver value to users as quickly as possible, it is crucial not to cause harm. I’d like to introduce you to Magery Forge, a security auditing service. It transforms scanner &quot;noise&quot; into clearly defined risks, complete with remediation recommendations. The service is also available via MCP, allowing your AI agent (Cursor, Copilot, Claude, OpenClaw) to run scans and read reports autonomously, while leaving the final decision on how to address discovered vulnerabilities up to you.&lt;/p&gt;
&lt;p&gt;Here’s a key point: you don’t need to grant access to your codebase. Doing so could introduce additional risks and create new attack vectors. AI agents are already good at writing code, but attackers aren't stupid—they always look for the path of least resistance. Right now, that path often lies in how components are configured into the final product. The work is split between the agent and you, and you don't always fully grasp the specific configurations or commands being executed. That’s why the service operates on a &quot;black box&quot; principle: it simulates a real-world hack.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://forge.magery.ai&quot;&gt;https://forge.magery.ai&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/29370/hacking-a-website-is-now-easier-than-pouring-a-cup-of-coffee-heres-how-to-stay-safe</guid>
<pubDate>Thu, 01 Oct 2026 09:39:11 +0000</pubDate>
</item>
<item>
<title>We Were Going to Get Rich with One Prompt — PR #3217</title>
<link>https://coderlegion.com/29311/we-were-going-to-get-rich-with-one-prompt-pr-3217</link>
<description>&lt;p&gt;At first, I was caught up in the hype too.&lt;/p&gt;
&lt;p&gt;Like many people, I imagined that I could write a prompt, generate something, make money from it — maybe even get rich overnight.&lt;/p&gt;
&lt;p&gt;But before I started, I asked myself a simple question:&lt;/p&gt;
&lt;p&gt;If writing software, building applications, and coding can make you rich, shouldn't every software developer be rich?&lt;/p&gt;
&lt;p&gt;Looking at reality, that clearly wasn't the case.&lt;/p&gt;
&lt;p&gt;So I put that thought aside.&lt;/p&gt;
&lt;p&gt;My real goal was simply to see what I could actually do.&lt;/p&gt;
&lt;p&gt;I started experimenting.&lt;/p&gt;
&lt;p&gt;One prompt.&lt;/p&gt;
&lt;p&gt;The result: a pile of code that didn't work.&lt;/p&gt;
&lt;p&gt;Another prompt.&lt;/p&gt;
&lt;p&gt;Same result.&lt;/p&gt;
&lt;p&gt;Two, three, four attempts...&lt;/p&gt;
&lt;p&gt;Nothing changed.&lt;/p&gt;
&lt;p&gt;That was my first important realization:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI wasn't perfect.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;More importantly, I couldn't believe everything it told me.&lt;/p&gt;
&lt;p&gt;It could tell me that it had built something that worked.&lt;/p&gt;
&lt;p&gt;But in reality, it didn't.&lt;/p&gt;
&lt;p&gt;My second realization was more personal:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Simply prompting AI to build something wasn't possible for me — at least not at that stage.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I had two choices.&lt;/p&gt;
&lt;p&gt;Give up.&lt;/p&gt;
&lt;p&gt;Or figure out how to make it possible.&lt;/p&gt;
&lt;p&gt;I chose to learn.&lt;/p&gt;
&lt;p&gt;But I didn't take the traditional route.&lt;/p&gt;
&lt;p&gt;I didn't want to spend months watching software engineering courses, programming lessons, and AI courses.&lt;/p&gt;
&lt;p&gt;I needed a different way of learning.&lt;/p&gt;
&lt;p&gt;So I started working like a bee.&lt;/p&gt;
&lt;p&gt;A bee doesn't carry the whole flower back to the hive.&lt;/p&gt;
&lt;p&gt;It takes what it needs.&lt;/p&gt;
&lt;p&gt;Then it goes back to the hive.&lt;/p&gt;
&lt;p&gt;I started doing the same thing.&lt;/p&gt;
&lt;p&gt;Whenever I wanted to build something, I focused on what I needed to learn at that moment.&lt;/p&gt;
&lt;p&gt;I found the information.&lt;/p&gt;
&lt;p&gt;I read it.&lt;/p&gt;
&lt;p&gt;I tried it.&lt;/p&gt;
&lt;p&gt;If it didn't work, I researched again.&lt;/p&gt;
&lt;p&gt;Then I tried again.&lt;/p&gt;
&lt;p&gt;I didn't learn in order to build.&lt;br&gt;
I learned while building.&lt;/p&gt;
&lt;p&gt;And over time, it started working.&lt;/p&gt;
&lt;p&gt;I learned GitHub.&lt;/p&gt;
&lt;p&gt;Branches.&lt;/p&gt;
&lt;p&gt;Commits.&lt;/p&gt;
&lt;p&gt;Repositories.&lt;/p&gt;
&lt;p&gt;Then the terminology of software development.&lt;/p&gt;
&lt;p&gt;Then I started understanding the AI tools and coding agents I was using.&lt;/p&gt;
&lt;p&gt;I didn't try to learn everything at once.&lt;/p&gt;
&lt;p&gt;I learned whatever I needed to solve the problem in front of me.&lt;/p&gt;
&lt;p&gt;And eventually, I started getting my first results.&lt;/p&gt;
&lt;p&gt;They were simple things.&lt;/p&gt;
&lt;p&gt;But they mattered.&lt;/p&gt;
&lt;p&gt;Because I was no longer just writing a prompt and waiting for AI to produce something.&lt;/p&gt;
&lt;p&gt;I was building something, trying to understand what it had actually done, investigating why it failed, and trying again.&lt;/p&gt;
&lt;p&gt;Then I noticed something else.&lt;/p&gt;
&lt;p&gt;The more I used AI and coding agents, the more I started seeing their problems.&lt;/p&gt;
&lt;p&gt;Where an agent failed.&lt;/p&gt;
&lt;p&gt;Why it kept repeating the same mistake.&lt;/p&gt;
&lt;p&gt;What information it forgot.&lt;/p&gt;
&lt;p&gt;And why, when I switched to another agent, I had to explain everything all over again.&lt;/p&gt;
&lt;p&gt;At some point, I thought:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Maybe instead of constantly fixing agents' problems, I could build tools to solve those problems.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;One of the first projects that came out of this was LEVH.&lt;/p&gt;
&lt;p&gt;When I was using multiple AI agents, I kept running into a very simple but frustrating problem:&lt;/p&gt;
&lt;p&gt;Every agent started each session from zero.&lt;/p&gt;
&lt;p&gt;I could spend days giving one agent context about a project.&lt;/p&gt;
&lt;p&gt;We would make decisions.&lt;/p&gt;
&lt;p&gt;Define rules.&lt;/p&gt;
&lt;p&gt;Solve problems.&lt;/p&gt;
&lt;p&gt;Then, because of context limits or simply because I needed to use another tool, I would switch to another agent.&lt;/p&gt;
&lt;p&gt;And start all over again.&lt;/p&gt;
&lt;p&gt;Explain the same decisions.&lt;/p&gt;
&lt;p&gt;The same rules.&lt;/p&gt;
&lt;p&gt;The same problems.&lt;/p&gt;
&lt;p&gt;Everything.&lt;/p&gt;
&lt;p&gt;That started to feel ridiculous.&lt;/p&gt;
&lt;p&gt;Instead of waiting for agents to become smarter, I asked:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why can't they share a memory?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;So I started building LEVH.&lt;/p&gt;
&lt;p&gt;Today, LEVH is a local-first memory layer that gives different AI tools and agents on the same machine access to persistent shared memory.&lt;/p&gt;
&lt;p&gt;I still use it myself.&lt;/p&gt;
&lt;p&gt;And I'm still developing it.&lt;/p&gt;
&lt;p&gt;[LEVH — GitHub repository][https://github.com/ali-ulu/levh]&lt;/p&gt;
&lt;p&gt;Feel free to use it, explore it, and contribute if you find it useful.&lt;/p&gt;
&lt;p&gt;But LEVH taught me something else:&lt;/p&gt;
&lt;p&gt;Sometimes the real value of working with AI doesn't come from seeing how good its answers are.&lt;/p&gt;
&lt;p&gt;It comes from noticing where it fails.&lt;/p&gt;
&lt;p&gt;The more problems I saw in agents, the more small tools I started building to solve them.&lt;/p&gt;
&lt;p&gt;And eventually, that led me to another question:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What if we could control not only an agent's memory, but also what it does?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That question led me to HUQAN.&lt;/p&gt;
&lt;p&gt;And that's where the next part of the story begins.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;I have not failed. I've just found 10,000 ways that won't work -Edison&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  http://github.com/ali-ulu/levh
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/29311/we-were-going-to-get-rich-with-one-prompt-pr-3217</guid>
<pubDate>Wed, 30 Sep 2026 20:35:27 +0000</pubDate>
</item>
<item>
<title>Everyone Can Vibe Code Now. So What Are People Building?</title>
<link>https://coderlegion.com/28927/everyone-can-vibe-code-now-so-what-are-people-building</link>
<description>&lt;p&gt;Vibe coding is making it easier than ever to turn an idea into something real.Apps, games, AI tools, websites, tiny experiments — people are building everything.&lt;br&gt;
So maybe the interesting question isn’t “Can you code?” anymore.&lt;br&gt;
It’s: What are you building?&lt;/p&gt;
</description>
<category>Videos</category>
<guid isPermaLink="true">https://coderlegion.com/28927/everyone-can-vibe-code-now-so-what-are-people-building</guid>
<pubDate>Mon, 28 Sep 2026 12:39:04 +0000</pubDate>
</item>
<item>
<title>We scanned a bunch of vibe-coded repos. Here's what showed up every time.</title>
<link>https://coderlegion.com/28596/we-scanned-a-bunch-of-vibe-coded-repos-heres-what-showed-up-every-time</link>
<description>&lt;p&gt;We know AI builds fast. We also know that things happen inside the AI black box that no one plans or intends. We set out to open the box and look at what AI produced---not in a demo, not in a blog post about how great Cursor is---the &lt;em&gt;real&lt;/em&gt; code in &lt;em&gt;real&lt;/em&gt; repositories that &lt;em&gt;real&lt;/em&gt; teams are shipping.&lt;/p&gt;
&lt;p&gt;We examined vibe-coded GitHub repositories identified by a &quot;fingerprint&quot; (projects built primarily with AI coding assistance) across a range of frameworks, languages, and team sizes to find patterns, failure modes, and recurring structural problems we hypothesized were there.&lt;/p&gt;
&lt;p&gt;We expected some variation. Different tools, different teams, different codebases. Instead, we got the same handful of patterns, over and over, regardless of any of that.&lt;/p&gt;
&lt;h4 id=&quot;recurring-patterns&quot;&gt;Recurring patterns&lt;/h4&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Pattern &lt;/th&gt;&lt;th&gt;Prevalence&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Compiled build artifacts committed to source control &lt;/td&gt;&lt;td&gt;Extremely common&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Untyped or &lt;code&gt;any&lt;/code&gt;-typed parameters erasing type safety &lt;/td&gt;&lt;td&gt;Pervasive&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;God-object files exceeding 1,500 lines &lt;/td&gt;&lt;td&gt;Common&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Silent fallback chains masking errors &lt;/td&gt;&lt;td&gt;Pervasive&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Hardcoded design values instead of token references &lt;/td&gt;&lt;td&gt;Nearly universal&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Security violations (&lt;code&gt;eval&lt;/code&gt;, &lt;code&gt;innerHTML&lt;/code&gt;, hardcoded secrets) &lt;/td&gt;&lt;td&gt;Frequent&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;None of these are exotic. They're boring, structural, and completely invisible in a demo. The code compiled. The tests passed (when there were tests at all). The linters were clean. And underneath all of that, errors were being swallowed silently, missing data was getting papered over with defaults, and the codebase was quietly rotting from the inside.&lt;/p&gt;
&lt;p&gt;That's the part that makes this worth writing about: no one would guess any of this was happening. Nobody wants to look.&lt;/p&gt;
&lt;h4 id=&quot;a-closer-look-at-two-patterns&quot;&gt;A closer look at two patterns&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Silent failures.&lt;/strong&gt; This is the most dangerous pattern we found, and also the most common. An AI assistant writes a &lt;code&gt;try/catch&lt;/code&gt;, the catch block logs the error (or doesn't), and execution continues as if nothing happened. The app &lt;em&gt;looks&lt;/em&gt; like it's working. The user sees no error. But the data is wrong, an operation got skipped, and the system is now in a state nobody accounted for.&lt;/p&gt;
&lt;p&gt;The fix isn't complicated; it's just a habit AI doesn't have by default: every error needs to be visible in three places at once: the console, the UI, and as a thrown exception that actually halts execution. If an error only shows up in a log nobody's watching, it isn't handled; it's hidden.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Phantom correctness.&lt;/strong&gt; This is the quieter cousin of the above. Code that compiles, passes the linter, and operates on the wrong data or a fabricated value without anyone noticing. Two of the biggest contributors: &lt;code&gt;any&lt;/code&gt; types used to make a type error go away instead of actually resolving it, and hardcoded values standing in for something that should have come from a real data source. Both look completely fine in a diff. Neither one throws an error. They just quietly mean the code isn't doing what it looks like it's doing.&lt;/p&gt;
&lt;h4 id=&quot;why-this-keeps-happening&quot;&gt;Why this keeps happening&lt;/h4&gt;
&lt;p&gt;None of this is really an intelligence problem. LLMs are very good at producing code that &lt;em&gt;looks&lt;/em&gt; correct. That's what they're optimized to do. The gap is that &quot;looks correct&quot; and &quot;is correct&quot; are different claims, and nothing in the default generation loop checks the second one. An AI assistant will also frequently declare a task done once the obvious, cheaper, high-priority, &quot;big win&quot; issues are resolved, leaving warnings and info-level findings &quot;for later,&quot; which in practice means never, because nothing forces a return trip.&lt;/p&gt;
&lt;h4 id=&quot;where-this-runs-out&quot;&gt;Where this runs out&lt;/h4&gt;
&lt;p&gt;Guardrails (rules, skills, etc.) are genuinely useful, and they work; but they all act at one specific moment: when the code is being written. They're authoring-time discipline.&lt;/p&gt;
&lt;p&gt;There's a second category of problem that shows up only after the code executes: the happy-path trap in async code (what happens on the second concurrent click, not the first), library lock-in from importing a vendor SDK directly across dozens of files, tests that assert implementation details instead of actual behavior and break on every refactor. None of these show up in the demo. They show up in production, or six months later, when someone who wasn't there when the AI wrote it has to touch the code.&lt;/p&gt;
&lt;p&gt;And even with perfect authoring-time discipline, there's a problem no amount of prompt engineering solves: LLMs are probabilistic, so the code they generate will drift from design intent over time regardless; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Renaming a prop in a way that's technically valid but breaks a contract&lt;/li&gt;
&lt;li&gt;Approximating a spacing value instead of reading it from a token&lt;/li&gt;
&lt;li&gt;Restructuring a component in a way that works but no longer matches the design system.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Clean code that no longer matches the design is still drift. That's a structural problem, not a discipline one, and it's a separate problem from anything a rules file can catch.&lt;/p&gt;
&lt;h4 id=&quot;what-we-did-about-it&quot;&gt;What we did about it&lt;/h4&gt;
&lt;p&gt;We turned these findings into a governance framework: six principles and a set of forbidden/required controls organized by the class of problem they prevent, not by technology. It's built to drop directly into whatever you're already using: a system prompt layer, per-tool rules for Cursor, Copilot, or Claude Code, and a set of on-demand skills for the failure classes that need more than a one-line rule.&lt;/p&gt;
&lt;p&gt;It's free — no signup required, just an email so the pdf and zip file land in your inbox. If you're shipping a meaningful amount of AI-generated code, it's worth fifteen minutes to see how many of these patterns are already sitting in your own repo. And how you prevent future drift.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.reweaver.ai/toolkit&quot;&gt;Get the toolkit →&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We also have other expansion packs in the pipeline. If we have your contact info, we can send them to you. &lt;/p&gt;
&lt;p&gt;If you've run into other failure patterns we didn't cover here, I'd genuinely like to hear about them. Ping me on &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.x.com/gogojongo&quot;&gt;X&lt;/a&gt; or &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/in/jongor&quot;&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/28596/we-scanned-a-bunch-of-vibe-coded-repos-heres-what-showed-up-every-time</guid>
<pubDate>Fri, 25 Sep 2026 10:13:17 +0000</pubDate>
</item>
<item>
<title>The &quot;Vibe Coder&quot; Reality Check: Validation, Timelines, and Handling Failure</title>
<link>https://coderlegion.com/28487/the-vibe-coder-reality-check-validation-timelines-and-handling-failure</link>
<description>&lt;p&gt;Hey everyone,&lt;/p&gt;
&lt;p&gt;I wanted to open up a candid discussion about a reality many self-taught or non-traditional developers face: &quot;vibe coding.&quot; We’ve all seen the trend—using AI to spin up code quickly based on a prompt or a &quot;vibe&quot; without necessarily having a formal computer science degree or deep, rigorous training in that specific stack.&lt;/p&gt;
&lt;p&gt;If you identify as a vibe coder, or if you are working without a formal engineering background, I’d love to get your insights on a few specific challenges:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How do you actually validate the code?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When you don't have years of formal training in software architecture, how do you ensure the code the AI spits out is safe, efficient, and actually doing what it's supposed to do? What is your personal validation process? Do you rely on manual clicking, writing automated tests with the AI, or just pushing to production and waiting for bug reports?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How long does validation take you?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&quot;Vibe coding&quot; feels incredibly fast at first because the initial code generation takes seconds. However, if you are learning on the fly, how long does the verification and debugging phase actually take you? Does the time spent fixing edge cases wipe out the speed gained from using AI in the first place?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What do you do when everything completely fails?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We all hit that wall where the AI gets stuck in an hallucination loop, the code is a tangled mess of spaghetti, and nothing works. When a feature completely fails and you don't have the deep foundational training to debug it from scratch, what is your next step? Do you scrap the project, seek mentorship, or start a completely new prompt thread?&lt;/p&gt;
&lt;p&gt;Let's talk about the real metrics, the struggles, and the best practices for validating AI-generated code when you're figuring it out as you go.&lt;/p&gt;
&lt;p&gt;Drop your experiences below!&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br&gt;
Momenul Ahmad&lt;br&gt;
Vibe Coder &amp;amp; Tech Explorer&lt;/p&gt;
</description>
<category>Discussions</category>
<guid isPermaLink="true">https://coderlegion.com/28487/the-vibe-coder-reality-check-validation-timelines-and-handling-failure</guid>
<pubDate>Thu, 24 Sep 2026 13:38:36 +0000</pubDate>
</item>
<item>
<title>Only 10 Vol.26.09| 10 AI Projects Worth Watching This Week</title>
<link>https://coderlegion.com/27094/only-10-vol-26-09-10-ai-projects-worth-watching-this-week</link>
<description>&lt;p&gt;Every day, countless new AI projects launch worldwide. Each week, we scan the latest projects and use the CRP framework to surface the 10 that truly deserve your attention — opportunities you might be able to participate in. This week, we analyzed 1264 projects and narrowed it down to these 10.&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;1-show-hn-what-if-the-speed-of-light-was-5-km-h-4-5-10&quot;&gt;1. show hn: what if the speed of light was 5 km/h? ⭐ 4.5/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 8.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -4.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 3.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; hn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is an elegant educational visualization project that makes abstract physics concepts accessible. The core value proposition is strong: relativity is counterintuitive and typically only taught at the university level with heavy math. By gamifying/visualizing it at human scales, you tap into a genuine curiosity gap — the &quot;what if&quot; hook is inherently shareable and viral on platforms like HN, Twitter, and TikTok. The interactive nature (likely WebGL/Three.js) creates a sticky experience. The opportunity extends beyond a one-off demo: this could become a teaching tool for schools, a YouTube thumbnail magnet, or a foundation for a broader physics ed platform. Market: edtech + science communication, both underserved by high-quality interactive content. The project is lightweight (single webpage), so it can be built quickly and iterated on cheaply.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/172&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;2-vincentwei1021-anything2explainer-4-4-10&quot;&gt;2. vincentwei1021/anything2explainer ⭐ 4.4/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 8.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -6.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 4.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; github&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project addresses a genuinely painful workflow: creating high-quality explainer videos has historically required expensive tools (Vyond, Adobe After Effects) or significant production overhead. Anything2Explainer automates the entire pipeline—script generation via LLM, motion graphics rendered in code with Remotion, TTS voiceover, auto-subtitles, and chapter progress bars—all accessible through a natural-language input. The value proposition is strong: democratizing video explainers for educators, content creators, and marketers who lack design skills or production budgets. The Remotion-based approach is clever because it keeps everything programmatic and composable, avoiding lock-in to specific design tools. For a developer audience already comfortable with Claude Code/Codex skills, the friction-to-value ratio is excellent. It also taps into the booming demand for explainer content across YouTube, EdTech, and marketing—categories where speed of production directly correlates with competitive advantage. The fact that it supports both Chinese and English broadens its addressable market significantly. This is not a toy—it's a practical automation tool for a real audience that struggles with video production.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/173&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;3-switch-4-4-10&quot;&gt;3. switch ⭐ 4.4/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 8.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -6.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 4.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; producthunt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Switch addresses a genuine and growing pain point: teams want AI agents embedded directly in their collaboration workflows rather than switching to separate chat interfaces. The value proposition is strong — one integration point, unified context per room, cross-platform support (Slack, Teams, Discord, Telegram), and compatibility with major AI frameworks (Claude Code, OpenAI, Google ADK, LangChain). The open-source, self-hostable angle lowers adoption barriers significantly and creates a natural wedge into enterprise environments that prefer data sovereignty. The &quot;connect once, use across projects&quot; model reduces friction for repeat adoption. This taps into the accelerating trend of agentic AI moving from standalone tools to embedded assistants — a market segment projected to grow rapidly as organizations mature their AI workflows. The timing is favorable: collaboration platforms have mature bot APIs, and enterprise AI adoption has moved past the hype phase into practical integration work.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/174&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;4-widgo-4-4-10&quot;&gt;4. widgo ⭐ 4.4/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 8.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -6.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 4.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; producthunt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Widgo addresses a clear and painful problem: businesses lose leads because website visitors don't get immediate, personalized responses. The value proposition is strong — an AI rep that scans the site, ingests docs, scores leads, and books demos in &quot;one line of code&quot; hits the sweet spot of low integration friction + high perceived value. The &quot;free forever, no card&quot; pricing is a clever land-and-expand play that removes friction for early adoption. For SMBs and indie SaaS companies especially, having a 24/7 AI rep that qualifies and books meetings is a compelling upgrade over basic chatbots. The opportunity is in the volume of small businesses with websites but no sales team. If execution is solid, this could become a category-defining tool in the AI automation space.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/175&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;5-show-hn-bodily-oddities-4-3-10&quot;&gt;5. show hn: bodily oddities ⭐ 4.3/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 7.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -4.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 3.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; hn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is a charming micro-site that taps into universal human curiosity about the body — everyone has experienced strange bodily sensations but few know they have names. The value lies in being an accessible, digestible resource for &quot;wait, everyone gets this?&quot; moments. The submission form adds a community-driven content engine, creating organic growth loops. The topic has strong shareability — people love sending these kinds of pages to friends saying &quot;remember this?&quot; Potential pathways include affiliate links to related products, a newsletter, or eventually expanding into a broader health-curious brand. It's essentially a curiosity-driven content hub with very low overhead.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/176&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;6-mizzlelover-gongwen-gbt9704-skill-4-3-10&quot;&gt;6. mizzlelover/gongwen-gbt9704-skill ⭐ 4.3/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 7.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -4.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 3.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; github&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project addresses a genuine, niche pain point in Chinese administrative workflows. GB/T 9704-2012 is the national standard for official document formatting in China — every government agency and many enterprises must comply. Manually formatting 公文 (official documents) to meet this standard is tedious and error-prone. An LLM skill that generates compliant DOCX files automatically is a compelling value proposition for a well-defined audience.&lt;/p&gt;
&lt;p&gt;The companion CEB ( ChunEBoWang ) format project extends the utility into document exchange workflows, creating a small ecosystem. The open-source nature lowers adoption barriers and positions the author for community-driven improvements. With the rapid growth of AI agent/skill ecosystems (LangChain, AutoGen, etc.), distributing a GBT9704 skill through these channels could reach users without heavy marketing.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/177&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;7-our-recall-was-0-087-and-the-model-was-innocent-how-domain-scoped-replay-doubled-it-4-3-10&quot;&gt;7. our recall was 0.087 and the model was innocent: how domain-scoped replay doubled it ⭐ 4.3/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 8.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -5.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 3.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; devto&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project addresses a real and painful problem in AI agent development: low recall rates (0.087 in the case study). Domain-scoped replay as a technique to double recall by capturing and reusing successful agent interactions is a solid technical insight. The fact that it's already released on PyPI with version 0.3.0 suggests active development and practical usage.&lt;/p&gt;
&lt;p&gt;Key value drivers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Solves a concrete performance bottleneck in production AI systems&lt;/li&gt;
&lt;li&gt;Open-source release lowers adoption barriers&lt;/li&gt;
&lt;li&gt;Practical tool rather than theoretical framework&lt;/li&gt;
&lt;li&gt;Addressing AI agent reliability is a growing market need&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The concept of turning repeated interactions into &quot;rules&quot; is extensible — it could become a knowledge base or learning system for multi-agent environments.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/178&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;8-show-hn-compute-polynomials-twice-as-fast-3-7-10&quot;&gt;8. show hn: compute polynomials twice as fast ⭐ 3.7/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 6.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -6.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 2.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; hn&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project is a practical interface for a novel polynomial evaluation algorithm developed through academic collaboration. The core opportunity lies in translating theoretical computer science work—specifically reducing multiplication counts in polynomial hashing—into an accessible tool anyone can use. The 100-page Lean proof provides rigorous correctness guarantees that most open-source projects lack, which is a genuine differentiator. The potential value is significant for developers working in hash functions, cryptographic primitives, and competitive programming. However, the target audience is relatively narrow: researchers, systems programmers, and optimization enthusiasts. The website serves as both a demo and documentation layer, lowering the barrier to adoption for a method that would otherwise remain locked in academic papers. If the speedup is meaningful across a broad range of polynomial sizes, it could become a go-to reference. The opportunity is real but niche—worth building if executed as a clean, well-maintained resource with clear benchmarks.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/179&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;9-crwdla-tokentab-3-7-10&quot;&gt;9. crwdla/tokentab ⭐ 3.7/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 8.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -6.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 1.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; github&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tokentab addresses a genuine pain point: developers using multiple AI coding assistants (Claude Code, OpenAI Codex, Gemini CLI) have no unified view of their spending. Each platform reports costs separately, if at all, making it hard to understand total AI expenditure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Value proposition:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multi-platform cost aggregation is genuinely useful — no single tool currently does this across Claude, Codex, and Gemini&lt;/li&gt;
&lt;li&gt;CLI-first approach fits the developer workflow perfectly&lt;/li&gt;
&lt;li&gt;&quot;By project and day&quot; breakdown is actionable for budgeting and cost optimization&lt;/li&gt;
&lt;li&gt;Low friction adoption: reads existing log files, no API integrations needed&lt;/li&gt;
&lt;li&gt;Clear monetization paths: open-source core with pro features (CSV export, alerts, dashboards) or a hosted dashboard&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The timing is excellent — AI coding tool usage has exploded, and cost visibility is a top concern for individuals and teams.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/180&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&quot;10-nullrun-3-5-10&quot;&gt;10. nullrun ⭐ 3.5/10&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Advisor:&lt;/strong&gt; 7.0 | &lt;strong&gt;Devil:&lt;/strong&gt; -5.0 | &lt;strong&gt;Historian:&lt;/strong&gt; 4.0 | &lt;strong&gt;Budget Steward:&lt;/strong&gt; -1.0 | &lt;strong&gt;Founder:&lt;/strong&gt; 7.0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Source:&lt;/strong&gt; indiehackers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;nullrun positions itself in the rapidly emerging &quot;AI Agent Governance&quot; category — a B2B SaaS that helps organizations manage, monitor, and govern AI agents at scale. This is a real pain point that's accelerating as companies deploy more autonomous AI agents in production. The opportunity sits at the intersection of two massive trends: enterprise AI adoption and the compliance/governance requirements that come with it (EU AI Act, NIST AI RMF, etc.). The value proposition is clear: without governance, AI agents become uncontrolled risk vectors. If nullrun can deliver observability, policy enforcement, and audit trails for AI agents, it addresses a genuine compliance and operational need. The B2B SaaS model with a 7-month MVP suggests focused execution. The market is early but hungry — first movers in agent governance could capture significant mindshare. The key question is whether they've carved out a defensible niche or are entering a crowded compliance tooling space.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://aiomniu.top/blog/181&quot;&gt;Read full analysis →&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;10 projects every week. Watch the AI era unfold with us. Follow along to see what's really happening.&lt;/em&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/27094/only-10-vol-26-09-10-ai-projects-worth-watching-this-week</guid>
<pubDate>Mon, 14 Sep 2026 11:45:00 +0000</pubDate>
</item>
<item>
<title>GoGraph updates, Providing Structural Awareness to AI Coding Agents in Go.</title>
<link>https://coderlegion.com/26640/gograph-updates-providing-structural-awareness-to-ai-coding-agents-in-go</link>
<description>&lt;p&gt;&lt;strong&gt;GoGraph Four Months Later: From Repository Map to Evidence Layer for AI Coding Agents&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A few months ago, I wrote about a problem I kept seeing with AI coding agents: they could write Go perfectly well, but before doing anything useful they spent a surprising amount of their context window trying to understand the repository.&lt;/p&gt;
&lt;p&gt;They would grep for symbols, guess filenames, read large files, follow imports manually, and slowly reconstruct relationships that the Go compiler already knows.&lt;/p&gt;
&lt;p&gt;That was the motivation behind &lt;strong&gt;GoGraph&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The first version I wrote about in May was relatively simple in concept: parse a Go repository, turn its structure into a graph, and expose that graph to coding agents through CLI commands and MCP.&lt;/p&gt;
&lt;p&gt;The basic idea has not changed.&lt;/p&gt;
&lt;p&gt;But &lt;strong&gt;GoGraph&lt;/strong&gt; itself has changed quite a lot.&lt;/p&gt;
&lt;p&gt;Today, I would describe it less as a static repository map and more as a local evidence layer between a Go codebase and an AI coding agent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Original Model: Give the Agent a Map&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first version concentrated heavily on AST-based structural analysis.&lt;/p&gt;
&lt;p&gt;GoGraph parsed source code and extracted things such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;packages&lt;/li&gt;
&lt;li&gt;functions and methods&lt;/li&gt;
&lt;li&gt;imports&lt;/li&gt;
&lt;li&gt;calls&lt;/li&gt;
&lt;li&gt;interfaces and implementations&lt;/li&gt;
&lt;li&gt;HTTP routes&lt;/li&gt;
&lt;li&gt;tests&lt;/li&gt;
&lt;li&gt;SQL-related structures&lt;/li&gt;
&lt;li&gt;error paths&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commands such as plan, review, and errorflow were intended to answer practical questions before and after an agent edited code.&lt;/p&gt;
&lt;p&gt;Instead of:&lt;/p&gt;
&lt;p&gt;grep&lt;br&gt;
rg&lt;br&gt;
awk&lt;br&gt;
sed&lt;br&gt;
read file&lt;br&gt;
grep again&lt;br&gt;
read another file&lt;br&gt;
guess&lt;/p&gt;
&lt;p&gt;the agent could ask GoGraph for a bounded structural answer.&lt;/p&gt;
&lt;p&gt;That is still useful, and the AST layer still exists.&lt;/p&gt;
&lt;p&gt;The limitation is that Go is not completely understandable from syntax alone.&lt;/p&gt;
&lt;p&gt;Consider this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;type Store interface {
    Save(User) error
}
func Create(s Store, u User) error {
    return s.Save(u)
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;From the AST, we know that Create calls Store.Save.&lt;/p&gt;
&lt;p&gt;But that does not necessarily tell us which concrete Save implementation executes.&lt;/p&gt;
&lt;p&gt;That becomes increasingly important once an agent starts reasoning about impact rather than simply locating code.&lt;/p&gt;
&lt;p&gt;GoGraph Now Has a Precision Layer&lt;/p&gt;
&lt;p&gt;The largest architectural change is that GoGraph no longer relies only on syntactic relationships.&lt;/p&gt;
&lt;p&gt;Precise builds now use Go’s type information together with go/packages, go/types, SSA, and Class Hierarchy Analysis.&lt;/p&gt;
&lt;p&gt;The result is effectively a two-layer model.&lt;/p&gt;
&lt;p&gt;The AST layer remains fast, resilient, and useful even when a repository cannot be fully type-checked.&lt;/p&gt;
&lt;p&gt;The precision layer adds compiler-aware relationships when the repository can be successfully loaded.&lt;/p&gt;
&lt;p&gt;This matters particularly for interfaces.&lt;/p&gt;
&lt;p&gt;An AST-level analysis might know that:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;service -&amp;gt; Repository.Save
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Type-aware analysis can identify actual implementations of that interface.&lt;/p&gt;
&lt;p&gt;SSA analysis can sometimes go further and prove that a particular interface value contains one concrete implementation at a call site.&lt;/p&gt;
&lt;p&gt;GoGraph deliberately distinguishes those cases.&lt;/p&gt;
&lt;p&gt;A call that is proven receives different treatment from a call that is merely a possible dynamic dispatch target.&lt;/p&gt;
&lt;p&gt;That distinction turned out to be important for agents.&lt;/p&gt;
&lt;p&gt;An AI should not see:&lt;/p&gt;
&lt;p&gt;A calls B&lt;/p&gt;
&lt;p&gt;when what the analysis actually knows is:&lt;/p&gt;
&lt;p&gt;A may call B&lt;/p&gt;
&lt;p&gt;Those are different facts.&lt;/p&gt;
&lt;p&gt;Exact and Possible Relationships&lt;/p&gt;
&lt;p&gt;This led to another change in the graph model.&lt;/p&gt;
&lt;p&gt;Relationships now carry more information about how strongly GoGraph knows them.&lt;/p&gt;
&lt;p&gt;For example, paths can contain relationships that are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;exact&lt;/li&gt;
&lt;li&gt;ambiguous&lt;/li&gt;
&lt;li&gt;possible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Commands can request exact-only results when an agent needs a conservative answer.&lt;/p&gt;
&lt;p&gt;When several possible paths exist, GoGraph also ranks them deterministically rather than returning whichever traversal happens to find first.&lt;/p&gt;
&lt;p&gt;The preference is roughly toward:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;stronger evidence&lt;/li&gt;
&lt;li&gt;shorter paths&lt;/li&gt;
&lt;li&gt;production code rather than tests&lt;/li&gt;
&lt;li&gt;typed resolution rather than heuristics&lt;/li&gt;
&lt;li&gt;fewer cross-repository transitions&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This sounds like an implementation detail, but it changes agent behavior substantially.&lt;/p&gt;
&lt;p&gt;Determinism is useful when an LLM repeatedly asks the same structural question during planning, editing, and review. The answer should not change merely because map iteration order changed.&lt;/p&gt;
&lt;p&gt;A First-Call Tool for Agents&lt;/p&gt;
&lt;p&gt;One problem became obvious after using GoGraph with actual coding agents.&lt;/p&gt;
&lt;p&gt;Even with dozens of specialized commands, the agent first has to know which command to use.&lt;/p&gt;
&lt;p&gt;So GoGraph now has explore.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gograph explore &quot;authentication middleware&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;or through MCP, gograph_explore.&lt;/p&gt;
&lt;p&gt;It performs bounded lexical discovery and, when a symbol can be selected unambiguously, combines several kinds of context into one response:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;matching symbols&lt;/li&gt;
&lt;li&gt;source location&lt;/li&gt;
&lt;li&gt;direct callers&lt;/li&gt;
&lt;li&gt;direct callees&lt;/li&gt;
&lt;li&gt;tests&lt;/li&gt;
&lt;li&gt;upstream impact&lt;/li&gt;
&lt;li&gt;package context&lt;/li&gt;
&lt;li&gt;deeper call relationships when requested&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are compact and deep modes.&lt;/p&gt;
&lt;p&gt;This is deliberately not semantic RAG.&lt;/p&gt;
&lt;p&gt;GoGraph does not pretend that it “understands” a natural-language question. It tokenizes the query deterministically, finds structural candidates, and reports how the selection was made.&lt;/p&gt;
&lt;p&gt;If a symbol is ambiguous, it exposes the ambiguity instead of silently picking one.&lt;/p&gt;
&lt;p&gt;That is an important design rule throughout the newer versions of GoGraph:&lt;/p&gt;
&lt;p&gt;Uncertainty should be data, not something hidden by the tool.&lt;/p&gt;
&lt;p&gt;From Repository Analysis to Change Analysis&lt;/p&gt;
&lt;p&gt;The original plan idea answered:&lt;/p&gt;
&lt;p&gt;What could be affected if I modify this symbol?&lt;/p&gt;
&lt;p&gt;That is useful before editing.&lt;/p&gt;
&lt;p&gt;But after an agent has changed the repository, the more interesting question is:&lt;/p&gt;
&lt;p&gt;What did I actually change, and what does that change affect?&lt;/p&gt;
&lt;p&gt;GoGraph now performs declaration-level change analysis against Git references and the working tree.&lt;/p&gt;
&lt;p&gt;It distinguishes things such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;edited declarations&lt;/li&gt;
&lt;li&gt;added declarations&lt;/li&gt;
&lt;li&gt;removed declarations&lt;/li&gt;
&lt;li&gt;excluded declarations&lt;/li&gt;
&lt;li&gt;changes that cannot be evaluated reliably&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Untracked Go files are included when looking at working-tree changes.&lt;/p&gt;
&lt;p&gt;This also avoids a surprisingly dangerous failure mode.&lt;/p&gt;
&lt;p&gt;Imagine the agent deletes a function.&lt;/p&gt;
&lt;p&gt;Looking only at the current graph cannot tell you who called the deleted function, because the function no longer exists.&lt;/p&gt;
&lt;p&gt;Change analysis therefore needs historical evidence from the baseline rather than pretending the current graph contains enough information.&lt;/p&gt;
&lt;p&gt;When GoGraph does not have enough evidence to calculate an impact safely, newer versions prefer to report that the evaluation is incomplete rather than returning an empty impact set.&lt;/p&gt;
&lt;p&gt;For AI tooling, “I cannot prove this” is much safer than “nothing is affected.”&lt;/p&gt;
&lt;p&gt;Graph Freshness Became a First-Class Concept&lt;/p&gt;
&lt;p&gt;Another thing I underestimated in the original version was graph freshness.&lt;/p&gt;
&lt;p&gt;A perfectly accurate graph of yesterday’s checkout is still the wrong answer.&lt;/p&gt;
&lt;p&gt;GoGraph now tracks graph state explicitly.&lt;/p&gt;
&lt;p&gt;Results can distinguish:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;persisted vs. in-memory graph&lt;/li&gt;
&lt;li&gt;current vs. stale graph&lt;/li&gt;
&lt;li&gt;complete vs. partial parsing&lt;/li&gt;
&lt;li&gt;AST vs. precise vs. precision-fallback analysis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MCP can refresh stale graphs automatically.&lt;/p&gt;
&lt;p&gt;If precise enrichment fails but AST analysis succeeds, GoGraph can return the fresh AST result while explicitly saying that precise analysis failed.&lt;/p&gt;
&lt;p&gt;If refreshing itself fails, it can retain the last trusted graph while exposing that it is stale.&lt;/p&gt;
&lt;p&gt;The important part is that these states are not collapsed into one vague “success.”&lt;/p&gt;
&lt;p&gt;For an AI agent, provenance matters.&lt;/p&gt;
&lt;p&gt;There is a substantial difference between:&lt;/p&gt;
&lt;p&gt;No callers found.&lt;/p&gt;
&lt;p&gt;and:&lt;/p&gt;
&lt;p&gt;No callers found.&lt;br&gt;
Graph: current.&lt;br&gt;
Analysis: precise.&lt;br&gt;
Parsing: complete.&lt;/p&gt;
&lt;p&gt;There is an even larger difference between that and:&lt;/p&gt;
&lt;p&gt;No callers found.&lt;br&gt;
Graph: stale.&lt;br&gt;
Analysis: AST fallback.&lt;/p&gt;
&lt;p&gt;The model should be allowed to reason differently about those answers.&lt;/p&gt;
&lt;p&gt;Large Results Are Now Explicitly Bounded&lt;/p&gt;
&lt;p&gt;Token efficiency was the original reason I created GoGraph, so there is an obvious irony if a structural query returns a 200 KB JSON response.&lt;/p&gt;
&lt;p&gt;Newer GoGraph query APIs therefore put considerably more effort into bounded output.&lt;/p&gt;
&lt;p&gt;Large result sets use deterministic pagination and expose information such as:&lt;/p&gt;
&lt;p&gt;total&lt;br&gt;
returned&lt;br&gt;
truncated&lt;br&gt;
next_cursor&lt;/p&gt;
&lt;p&gt;The cursor is tied to the graph snapshot and query selection, so it cannot silently continue over a different graph after the repository changes.&lt;/p&gt;
&lt;p&gt;MCP output also has an explicit response-size budget.&lt;/p&gt;
&lt;p&gt;This is not merely an API optimization.&lt;/p&gt;
&lt;p&gt;A tool built for LLMs needs to consider context consumption as part of its interface design.&lt;/p&gt;
&lt;p&gt;Traditional developer tooling often assumes:&lt;/p&gt;
&lt;p&gt;Returning more information is better.&lt;/p&gt;
&lt;p&gt;Agent tooling often has the opposite requirement:&lt;/p&gt;
&lt;p&gt;Return the smallest amount of information that preserves the evidence required for the decision.&lt;/p&gt;
&lt;p&gt;Better Test Reasoning&lt;/p&gt;
&lt;p&gt;Test discovery has also moved beyond simply asking whether a symbol name appears in a _test.go file.&lt;/p&gt;
&lt;p&gt;GoGraph can now trace tests transitively through call relationships and distinguish exact test coverage paths from possible ones.&lt;/p&gt;
&lt;p&gt;This becomes useful with architectures where a test reaches the target through several layers:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;TestCreateUser
    -&amp;gt; handler
        -&amp;gt; service
            -&amp;gt; repository
                -&amp;gt; Save
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Router callbacks and other intermediary functions can participate in that attribution.&lt;/p&gt;
&lt;p&gt;Interface-backed test doubles are also important.&lt;/p&gt;
&lt;p&gt;GoGraph’s typed test analysis can recognize cases where a test assigns a concrete fake or mock to an interface and prove the resulting call target when the type information allows it.&lt;/p&gt;
&lt;p&gt;That makes commands such as tests and untested much more useful as structural evidence for coding agents.&lt;/p&gt;
&lt;p&gt;It still does not mean “this code is correctly tested.”&lt;/p&gt;
&lt;p&gt;That requires running the tests.&lt;/p&gt;
&lt;p&gt;It means something narrower and more defensible:&lt;/p&gt;
&lt;p&gt;These tests have a statically observable relationship to this declaration.&lt;/p&gt;
&lt;p&gt;SQL Became Structured Evidence&lt;/p&gt;
&lt;p&gt;SQL started as another useful static extraction target.&lt;/p&gt;
&lt;p&gt;It has since become a more structured query system.&lt;/p&gt;
&lt;p&gt;GoGraph can classify statically resolvable PostgreSQL statements and expose information such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;operation&lt;/li&gt;
&lt;li&gt;read/write access&lt;/li&gt;
&lt;li&gt;referenced tables&lt;/li&gt;
&lt;li&gt;access per table&lt;/li&gt;
&lt;li&gt;source location&lt;/li&gt;
&lt;li&gt;module&lt;/li&gt;
&lt;li&gt;test/production origin&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It understands more than literal strings.&lt;/p&gt;
&lt;p&gt;Statically provable local constants, variables, assignments, and bounded concatenations can also participate in SQL resolution.&lt;/p&gt;
&lt;p&gt;Dynamic SQL is intentionally not presented as if it were fully known.&lt;/p&gt;
&lt;p&gt;The result is useful for questions such as:&lt;/p&gt;
&lt;p&gt;Which code writes the oauth_clients table?&lt;/p&gt;
&lt;p&gt;or:&lt;/p&gt;
&lt;p&gt;Which production paths execute DELETE statements?&lt;/p&gt;
&lt;p&gt;Again, the goal is not to replace a SQL parser, database audit system, or runtime tracing.&lt;/p&gt;
&lt;p&gt;It is to give an agent a useful static census of evidence that exists in the repository.&lt;/p&gt;
&lt;p&gt;HTTP Relationships Also Became More Precise&lt;/p&gt;
&lt;p&gt;Route extraction existed in the original version, but HTTP reasoning has expanded.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GoGraph&lt;/strong&gt; now distinguishes constructing an HTTP request from actually proving that the request is dispatched.&lt;/p&gt;
&lt;p&gt;It can preserve statically known URL bases and suffixes.&lt;/p&gt;
&lt;p&gt;More importantly, this becomes useful in the workspace model.&lt;/p&gt;
&lt;p&gt;A repository can declare mappings between outbound HTTP client authorities and another repository in the same workspace.&lt;/p&gt;
&lt;p&gt;That allows GoGraph to represent a relationship such as:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;frontend-api
    -&amp;gt; HTTP request
        -&amp;gt; identity-service
            -&amp;gt; POST /users
                -&amp;gt; CreateUser handler
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;without inventing relationships from runtime environment variables or guessed hostnames.&lt;/p&gt;
&lt;p&gt;GoGraph Can Now Analyze a Workspace&lt;/p&gt;
&lt;p&gt;This is probably the biggest conceptual expansion since the original article.&lt;/p&gt;
&lt;p&gt;Modern systems are often not one Go repository.&lt;/p&gt;
&lt;p&gt;You may have:&lt;/p&gt;
&lt;p&gt;identity-service/&lt;br&gt;
agent-service/&lt;br&gt;
gateway/&lt;br&gt;
shared-lib/&lt;/p&gt;
&lt;p&gt;Each repository has its own graph.&lt;/p&gt;
&lt;p&gt;GoGraph can now build a workspace overlay across them.&lt;/p&gt;
&lt;p&gt;The individual repository graphs remain independent. The workspace adds explicitly resolved relationships between them.&lt;/p&gt;
&lt;p&gt;These can include cross-repository Go relationships and configured HTTP relationships.&lt;/p&gt;
&lt;p&gt;The workspace can then answer questions such as:&lt;/p&gt;
&lt;p&gt;What path connects this gateway handler&lt;br&gt;
to this identity-service function?&lt;/p&gt;
&lt;p&gt;or:&lt;/p&gt;
&lt;p&gt;What repositories may be affected by this change?&lt;/p&gt;
&lt;p&gt;There is also a separate read-only workspace MCP server exposing:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;gograph_workspace_status
gograph_workspace_query
gograph_workspace_path
gograph_workspace_impact
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This matters because the “whole codebase” visible to an AI agent is increasingly not the same thing as a Git repository.&lt;/p&gt;
&lt;p&gt;The useful unit is often the engineering workspace.&lt;/p&gt;
&lt;p&gt;Go Build Configuration Is Part of the Graph&lt;/p&gt;
&lt;p&gt;Another source of false confidence is pretending that a Go repository has one universal structure.&lt;/p&gt;
&lt;p&gt;It often does not.&lt;/p&gt;
&lt;p&gt;Build tags, GOOS, GOARCH, GOFLAGS, cgo, go.work, generated files, and module selection can all change which source files constitute the program.&lt;/p&gt;
&lt;p&gt;GoGraph now records the effective build selection used to construct the graph.&lt;/p&gt;
&lt;p&gt;Explicit build tags are supported.&lt;/p&gt;
&lt;p&gt;If the environment used to query a persisted graph no longer matches the environment used to build it, the graph can be considered stale rather than silently mixing incompatible views of the program.&lt;/p&gt;
&lt;p&gt;That is another example of something which is easy to ignore in a developer convenience tool but important in an evidence tool.&lt;/p&gt;
&lt;p&gt;Local Does Not Automatically Mean Safe&lt;/p&gt;
&lt;p&gt;The original article emphasized that GoGraph runs locally.&lt;/p&gt;
&lt;p&gt;That remains true.&lt;/p&gt;
&lt;p&gt;But over time I became much more conservative about what “local static analysis” should be allowed to touch.&lt;/p&gt;
&lt;p&gt;The current code performs extensive path and source confinement checks.&lt;/p&gt;
&lt;p&gt;Among other things, it treats Go build inputs, module/workspace metadata, graph artifacts, and generated files carefully around symbolic links and repository boundaries.&lt;/p&gt;
&lt;p&gt;The goal is simple:&lt;/p&gt;
&lt;p&gt;Asking an AI agent to inspect an untrusted repository should not casually turn a static-analysis request into arbitrary traversal outside the intended source tree.&lt;/p&gt;
&lt;p&gt;Go tooling itself can legitimately access module caches, proxies, and toolchains, so the boundary cannot simply be “never touch anything outside the repository.”&lt;/p&gt;
&lt;p&gt;Instead, GoGraph tries to distinguish repository-controlled source authority from legitimate Go dependency resolution.&lt;/p&gt;
&lt;p&gt;This security work is considerably less visible than a new query command, but I now consider it part of the core design.&lt;/p&gt;
&lt;p&gt;MCP Is No Longer Just a Wrapper Around CLI Output&lt;/p&gt;
&lt;p&gt;MCP was already present in the original version.&lt;/p&gt;
&lt;p&gt;Its role has expanded.&lt;/p&gt;
&lt;p&gt;The project MCP server now exposes most of GoGraph’s repository analysis capabilities directly, with CLI and MCP generally sharing the same underlying result contracts.&lt;/p&gt;
&lt;p&gt;That prevents an unfortunate architecture where:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CLI implementation
       +
separate MCP implementation
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;slowly develops different semantics.&lt;/p&gt;
&lt;p&gt;The MCP server can also expose its own version and analysis capabilities, which matters because restarting an MCP process is necessary after installing a newer GoGraph binary. An already-running process does not magically inherit the new tool schema.&lt;/p&gt;
&lt;p&gt;The server still runs locally over stdio.&lt;/p&gt;
&lt;p&gt;There is no hosted GoGraph service receiving the repository.&lt;/p&gt;
&lt;p&gt;What Has Not Changed&lt;/p&gt;
&lt;p&gt;Despite all of these additions, there are several things I deliberately do not want GoGraph to become.&lt;/p&gt;
&lt;p&gt;It is not an AI model.&lt;/p&gt;
&lt;p&gt;It does not decide what code should be written.&lt;/p&gt;
&lt;p&gt;It does not replace go test.&lt;/p&gt;
&lt;p&gt;It does not replace the compiler.&lt;/p&gt;
&lt;p&gt;It does not replace runtime tracing.&lt;/p&gt;
&lt;p&gt;It does not replace semantic code search.&lt;/p&gt;
&lt;p&gt;And it should not pretend static analysis can prove runtime behavior that static analysis cannot see.&lt;/p&gt;
&lt;p&gt;I increasingly think the useful division of labor looks like this:&lt;/p&gt;
&lt;p&gt;LLM&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;reasoning
interpretation
implementation
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Semantic search / grep&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;discovery
text
configuration
documentation
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;GoGraph&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;structural evidence
relationships
impact
provenance
uncertainty
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Go compiler / tests&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;executable verification
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;These tools complement each other.&lt;/p&gt;
&lt;p&gt;The Larger Lesson&lt;/p&gt;
&lt;p&gt;When I wrote the first article, I described the problem mostly as a context-window problem.&lt;/p&gt;
&lt;p&gt;I still think that is true, but I would phrase it slightly differently now.&lt;/p&gt;
&lt;p&gt;The scarce resource is not simply tokens.&lt;/p&gt;
&lt;p&gt;It is reliable context.&lt;/p&gt;
&lt;p&gt;Giving an agent 50,000 lines of source code is context.&lt;/p&gt;
&lt;p&gt;Giving it this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;CreateUser
  exact caller:
    POST /api/v1/users -&amp;gt; UsersHandler.Create
  exact dependency:
    UserRepository.Insert
  database:
    INSERT -&amp;gt; users
  attributed tests:
    TestCreateUser
    TestCreateUserDuplicate
  graph:
    current
    precise
    complete
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;is also context.&lt;/p&gt;
&lt;p&gt;But the second form has already converted a large amount of syntax into a much smaller set of claims.&lt;/p&gt;
&lt;p&gt;That is where I now see GoGraph fitting.&lt;/p&gt;
&lt;p&gt;It is not trying to make the LLM smarter.&lt;/p&gt;
&lt;p&gt;It is trying to reduce how much of the LLM’s intelligence has to be spent rediscovering facts that static analysis can provide deterministically.&lt;/p&gt;
&lt;p&gt;The original goal was to give AI coding agents a map.&lt;/p&gt;
&lt;p&gt;The current goal is slightly more demanding:&lt;/p&gt;
&lt;p&gt;Give them evidence, identify where that evidence came from, distinguish certainty from possibility, and say when the evidence is incomplete.&lt;/p&gt;
&lt;p&gt;For coding agents operating on large Go systems, I think that is a much more useful foundation.&lt;/p&gt;
&lt;p&gt;GoGraph on GitHub: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/ozgurcd/gograph&quot;&gt;https://github.com/ozgurcd/gograph&lt;/a&gt; &lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/26640/gograph-updates-providing-structural-awareness-to-ai-coding-agents-in-go</guid>
<pubDate>Wed, 09 Sep 2026 18:31:10 +0000</pubDate>
</item>
<item>
<title>The Day I Stopped Copying Code and Started Learning</title>
<link>https://coderlegion.com/25139/the-day-i-stopped-copying-code-and-started-learning</link>
<description>&lt;p&gt;As developers, we’ve all done it.&lt;/p&gt;
&lt;p&gt;You search for a problem, find a solution on Google, Stack Overflow, GitHub, or an AI tool, copy the code, make a few changes—and finally, it works. &lt;/p&gt;
&lt;p&gt;But then someone asks:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“Can you explain how this works?”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;And suddenly… silence. &lt;/p&gt;
&lt;p&gt;That moment can teach us one of the most important lessons in programming:&lt;/p&gt;
&lt;h3 id=&quot;writing-code-is-not-the-same-as-understanding-code-&quot;&gt;&lt;strong&gt;Writing code is not the same as understanding code.&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;In today's world, getting code has become easier than ever. AI can generate functions in seconds. Online communities provide thousands of ready-made solutions. Open-source projects give us access to amazing code.&lt;/p&gt;
&lt;p&gt;But there is a difference between &lt;strong&gt;using code&lt;/strong&gt; and &lt;strong&gt;learning from code&lt;/strong&gt;.&lt;/p&gt;
&lt;h4 id=&quot;the-copy-paste-trap&quot;&gt;&lt;strong&gt;The Copy-Paste Trap&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Copying code is not always bad. In fact, developers do it all the time. The problem starts when we copy something without understanding:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What does each part do?&lt;/li&gt;
&lt;li&gt;Why was this approach used?&lt;/li&gt;
&lt;li&gt;What happens if something fails?&lt;/li&gt;
&lt;li&gt;Can I modify it for a different situation?&lt;/li&gt;
&lt;li&gt;Could I build a similar solution on my own?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If we never ask these questions, we may solve today's problem but learn nothing for tomorrow's.&lt;/p&gt;
&lt;h3 id=&quot;a-better-way-to-learn&quot;&gt;&lt;strong&gt;A Better Way to Learn&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Next time you find a solution, try this:&lt;/p&gt;
&lt;h4 id=&quot;1-read-before-you-run&quot;&gt;&lt;strong&gt;1. Read Before You Run&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Take a few minutes to understand the logic. Don't immediately press Run.&lt;/p&gt;
&lt;h4 id=&quot;2-change-something&quot;&gt;&lt;strong&gt;2. Change Something&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Modify a variable, remove a line, or test a different input. See what happens.&lt;/p&gt;
&lt;h4 id=&quot;3-break-the-code&quot;&gt;&lt;strong&gt;3. Break the Code&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Yes—intentionally! &lt;/p&gt;
&lt;p&gt;Breaking code is one of the fastest ways to understand how it works.&lt;/p&gt;
&lt;h4 id=&quot;4-rebuild-it-without-looking&quot;&gt;&lt;strong&gt;4. Rebuild It Without Looking&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;After understanding the solution, close the original and try writing it again from memory.&lt;/p&gt;
&lt;p&gt;You may fail the first time.&lt;/p&gt;
&lt;p&gt;That's okay.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Struggling to remember is often part of learning.&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&quot;5-explain-it-simply&quot;&gt;&lt;strong&gt;5. Explain It Simply&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Try explaining the code as if you were teaching a beginner.&lt;/p&gt;
&lt;p&gt;If you can explain it simply, you probably understand it.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;ai-makes-this-even-more-important&quot;&gt;&lt;strong&gt;AI Makes This Even More Important&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;AI coding tools are powerful. They can help us learn faster, debug problems, and explore new technologies.&lt;/p&gt;
&lt;p&gt;But we should avoid becoming developers who only know how to ask:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;“Give me the code.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Instead, try asking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;“Explain why this solution works.”&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“Show me a simpler version.”&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“What are the alternatives?”&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“What mistakes could happen here?”&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;“Give me a challenge so I can build it myself.”&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI should be our &lt;strong&gt;learning partner&lt;/strong&gt;, not a replacement for thinking.&lt;/p&gt;
&lt;h3 id=&quot;the-real-goal&quot;&gt;&lt;strong&gt;The Real Goal&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;The goal is not to memorize every line of code.&lt;/p&gt;
&lt;p&gt;Even experienced developers search for documentation and examples.&lt;/p&gt;
&lt;p&gt;The real goal is to develop the ability to &lt;strong&gt;think, understand, adapt, and solve problems&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Because copied code may solve one problem.&lt;/p&gt;
&lt;p&gt;But &lt;strong&gt;understanding teaches you how to solve the next hundred.&lt;/strong&gt; &lt;/p&gt;
&lt;h4 id=&quot;what-do-you-think-&quot;&gt;&lt;strong&gt;What do you think?&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;Have you ever copied code that worked perfectly—but later realized you had no idea how it actually worked? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Share your experience in the comments. Let's learn from each other!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sumita &lt;br&gt;
 Web Developer&lt;/strong&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/25139/the-day-i-stopped-copying-code-and-started-learning</guid>
<pubDate>Sat, 22 Aug 2026 13:08:34 +0000</pubDate>
</item>
<item>
<title>Building an Anti-Proxy -Offline-First Attendance Platform with Next.js, Express &amp; Firebase</title>
<link>https://coderlegion.com/22261/building-an-anti-proxy-offline-first-attendance-platform-with-next-js-express-firebase</link>
<description>&lt;p&gt;Traditional attendance systems seem simple until you look at how they work in practice. Manual roll calls consume valuable class time, paper attendance sheets are inefficient, and many QR-based systems can still be exploited through proxy attendance.&lt;/p&gt;
&lt;p&gt;I wanted to explore whether a better solution was possible.&lt;/p&gt;
&lt;p&gt;This project is my attempt at designing and building an &lt;strong&gt;offline-first anti-proxy attendance platform&lt;/strong&gt; from scratch as a solo developer. The goal wasn't just to digitize attendance, but to create a system that remains reliable in real-world environments while prioritizing security, scalability, and a smooth user experience.&lt;/p&gt;
&lt;p&gt;The platform is built using &lt;strong&gt;Next.js 16, React 19, TypeScript, Express.js, Firebase Authentication, Firestore, Firebase Admin SDK, Tailwind CSS, Capacitor, Progressive Web Apps (PWA), Sentry, and dynamic QR-based authentication&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Rather than focusing only on features, this article explores the engineering decisions behind the project: why I chose an offline-first architecture, how dynamic QR validation improves security, the reasoning behind the technology stack, the challenges I faced during development, and the lessons I learned while building a production-style application that is already being used in my college club.&lt;/p&gt;
&lt;p&gt;The project is still evolving, and I continue to improve it whenever I have time. My aim is to keep documenting that journey by sharing not only what works, but also the mistakes, trade-offs, and architectural decisions that shaped the system.&lt;/p&gt;
&lt;p&gt;If you're interested in &lt;strong&gt;full-stack development, system design, Next.js, Firebase, TypeScript, or building software that solves practical problems&lt;/strong&gt;, I hope you'll find something valuable in this article.&lt;/p&gt;
&lt;p&gt;⭐ &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/siddarthpatelkama&quot;&gt;https://github.com/siddarthpatelkama&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;strong&gt;LinkedIn:&lt;/strong&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/in/siddarthpatelkama&quot;&gt;https://www.linkedin.com/in/siddarthpatelkama&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'm always open to feedback, suggestions, and discussions with fellow developers. If you have ideas for improving the project or questions about the implementation, I'd love to hear from you.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/22261/building-an-anti-proxy-offline-first-attendance-platform-with-next-js-express-firebase</guid>
<pubDate>Sat, 11 Jul 2026 03:43:18 +0000</pubDate>
</item>
<item>
<title>Vibe Coding Explained: What It Is, Best Tools, and How to Start in 2026</title>
<link>https://coderlegion.com/20326/vibe-coding-explained-what-it-is-best-tools-and-how-to-start-in-2026</link>
<description>&lt;p&gt;On February 2, 2025, Andrej Karpathy coined the term &quot;vibe coding&quot; - a style of development where you describe what you want in plain English, the AI writes the code, you run it, fix problems by describing them, and ship. You stop reading the code in detail. You just feel the vibes and go.&lt;/p&gt;
&lt;p&gt;Collins Dictionary named it their 2025 Word of the Year. By early 2026, over 110,000 developers search for it monthly, a $4.7 billion market has formed around it, and 63% of people now vibe coding were never traditional programmers.&lt;/p&gt;
&lt;h3 id=&quot;what-is-vibe-coding-&quot;&gt;What Is Vibe Coding?&lt;/h3&gt;
&lt;p&gt;Vibe coding is AI-first software development. Instead of writing every line yourself, you describe what you want to build in plain language, and an AI coding assistant - like Cursor, Claude Code, or Lovable - writes the implementation. You review, run, describe problems, and iterate.&lt;/p&gt;
&lt;p&gt;The name comes from the &quot;vibe&quot; - the feeling of momentum when software builds itself and you're steering rather than typing. You're a product director giving instructions to an AI developer.&lt;/p&gt;
&lt;p&gt;The core loop:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Describe - tell the AI what you want to build or fix&lt;/li&gt;
&lt;li&gt;Review - scan what the AI produced (spot-check, don't line-read)&lt;/li&gt;
&lt;li&gt;Run - execute and test manually&lt;/li&gt;
&lt;li&gt;Iterate - describe problems or next features, repeat&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;vibe-coding-vs-traditional-coding&quot;&gt;Vibe Coding vs. Traditional Coding&lt;/h3&gt;
&lt;p&gt;Both approaches are valid - the question is which fits your situation.&lt;/p&gt;
&lt;p&gt;Traditional coding gives you full control and high quality but is slower. Vibe coding is fast for prototyping and MVPs but code quality is variable - the AI makes mistakes.&lt;/p&gt;
&lt;p&gt;72% of professional developers who've tried vibe coding still primarily write code themselves for production work. But 63% of vibe coders are not professional developers - they're founders, researchers, designers, and domain experts who need working software without years of programming experience.&lt;/p&gt;
&lt;h3 id=&quot;best-vibe-coding-tools-in-2026&quot;&gt;Best Vibe Coding Tools in 2026&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt; - The dominant vibe coding environment for developers. A fork of VS Code with AI built into every layer: tab completion, inline generation, a chat sidebar that reads your entire codebase, and Composer mode for multi-file edits. Best for developers who want full IDE capabilities with deep AI integration. Pro at $20/month.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; - Anthropic's CLI tool, top-ranked for complex multi-file work. It lives in your terminal, reads your repo, runs commands, edits files across your whole project, and manages Git autonomously. Best for delegating entire tasks, not just getting suggestions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OpenAI Codex&lt;/strong&gt; - Cloud-based coding agent that runs tasks asynchronously in a sandboxed environment. You describe what you want built, and it works through the task independently, reporting back when done. Included with ChatGPT Plus ($20/month).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lovable&lt;/strong&gt; - The best tool for non-developers. A browser-based AI app builder that creates a complete React frontend with a Supabase backend. No local setup required. Best for founders and designers who want a real deployed web app. Free tier available, Pro at $20/month.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Replit&lt;/strong&gt; - Cloud IDE with an AI agent. Everything - coding, hosting, database, deployment - is in one place. Best for beginners and quick demos with zero environment setup.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;v0 by Vercel&lt;/strong&gt; - Specializes in UI components. Describe a component in plain language, get production-ready React and Tailwind code back. Best for building polished interfaces quickly, pairs well with Cursor for the backend.&lt;/p&gt;
&lt;h3 id=&quot;build-your-first-app-a-walkthrough&quot;&gt;Build Your First App: A Walkthrough&lt;/h3&gt;
&lt;p&gt;This example uses Cursor to build a simple URL bookmark manager.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Open Cursor Composer (Cmd+I) and describe the app - what it should do, what stack to use, any design preferences&lt;/li&gt;
&lt;li&gt;Cursor generates the files - click &quot;Accept All&quot;&lt;/li&gt;
&lt;li&gt;Run it with &lt;code&gt;npm install &amp;amp;&amp;amp; npm run dev&lt;/code&gt; - you have a working app&lt;/li&gt;
&lt;li&gt;Iterate by describing problems: &quot;The list is showing URLs without titles - fix it so titles display prominently&quot;&lt;/li&gt;
&lt;li&gt;Before shipping, ask the AI: &quot;Review this code for security issues - list any problems&quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That last step is non-optional. It takes 30 seconds and can save you from shipping something broken.&lt;/p&gt;
&lt;h3 id=&quot;security-and-quality-the-part-everyone-skips&quot;&gt;Security and Quality: The Part Everyone Skips&lt;/h3&gt;
&lt;p&gt;This is what the hype cycle ignores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;45% of AI-generated code fails at least one OWASP Top 10 vulnerability check&lt;/li&gt;
&lt;li&gt;53% of developers have found security vulnerabilities in AI-written code&lt;/li&gt;
&lt;li&gt;63% of developers have spent more debugging AI code than they would have writing it themselves&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of this means vibe coding is bad. It means vibe coding without review is bad.&lt;/p&gt;
&lt;p&gt;Always check for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;XSS: AI commonly uses innerHTML without sanitization&lt;/li&gt;
&lt;li&gt;Exposed API keys: AI sometimes embeds secrets in client-side JavaScript&lt;/li&gt;
&lt;li&gt;SQL injection: verify parameterized queries are used everywhere&lt;/li&gt;
&lt;li&gt;Auth gaps: AI often forgets to protect routes&lt;/li&gt;
&lt;li&gt;Overly permissive CORS: AI default configs often allow all origins&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A useful habit: after any significant code generation session, ask &quot;Act as a security reviewer. List every security concern in this code, from critical to minor.&quot;&lt;/p&gt;
&lt;h3 id=&quot;vibe-coding-for-non-developers&quot;&gt;Vibe Coding for Non-Developers&lt;/h3&gt;
&lt;p&gt;63% of people vibe coding today are not professional developers. If you're a founder, researcher, or domain expert, vibe coding is probably the most practical path to building software for your specific needs.&lt;/p&gt;
&lt;p&gt;Good starter projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internal tools: a spreadsheet replacement that does exactly what your team needs (Lovable or Replit, 2-3 hours)&lt;/li&gt;
&lt;li&gt;Data dashboards: connect to a CSV or API and display charts (v0 for UI, Claude Code for data wiring)&lt;/li&gt;
&lt;li&gt;Automations: a script that handles a repetitive task (Claude Code is excellent here)&lt;/li&gt;
&lt;li&gt;Simple websites: landing pages, portfolios, product pages (v0 + Lovable)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Realistic time expectations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Personal script or automation: 30 min - 2 hours&lt;/li&gt;
&lt;li&gt;Simple internal tool: 2 - 8 hours&lt;/li&gt;
&lt;li&gt;Landing page with contact form: 1 - 4 hours&lt;/li&gt;
&lt;li&gt;MVP web app (CRUD + auth): 1 - 3 days&lt;/li&gt;
&lt;li&gt;Production SaaS with payments: 1 - 4 weeks (plus real review)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The bigger the project, the more you need to understand what the AI built. Vibe coding a 30-line script is nearly risk-free. Vibe coding a multi-user SaaS without reviewing auth and payment code is genuinely dangerous.&lt;/p&gt;
&lt;h3 id=&quot;is-vibe-coding-here-to-stay-&quot;&gt;Is Vibe Coding Here to Stay?&lt;/h3&gt;
&lt;p&gt;Yes. AI models are getting better at code faster than most developers predicted. Tasks that required deep understanding six months ago can often be delegated to an AI agent today. Developer work shifts toward architecture, product decisions, code review, and testing strategy - away from line-by-line implementation.&lt;/p&gt;
&lt;p&gt;For non-developers, vibe coding is creating an entirely new category of software builders. People who could never ship software before are now shipping.&lt;/p&gt;
&lt;p&gt;The risk to watch: as the barrier to shipping code drops, the discipline around reviewing, testing, and securing that code has to rise to compensate.&lt;/p&gt;
&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Vibe coding is a permanent shift in how software gets made - and the shift is still accelerating. The developers and builders winning with it share one habit: they stay in the driver's seat. They use AI for implementation speed while keeping their own judgment on what gets shipped.&lt;/p&gt;
&lt;p&gt;Pick one tool and build one real thing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lovable or Replit if you've never written code before&lt;/li&gt;
&lt;li&gt;Cursor if you have some programming background and want full control&lt;/li&gt;
&lt;li&gt;Claude Code if you're comfortable in a terminal and want to delegate entire tasks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The security section of this guide is not optional. Thirty seconds asking the AI to review its own code for vulnerabilities will catch most serious issues. Do it every time.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;references&quot;&gt;References&lt;/h3&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://devtoollab.com/blog/vibe-coding&quot;&gt;https://devtoollab.com/blog/vibe-coding&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/20326/vibe-coding-explained-what-it-is-best-tools-and-how-to-start-in-2026</guid>
<pubDate>Thu, 11 Jun 2026 17:41:12 +0000</pubDate>
</item>
<item>
<title>How I Lost a Six-Figure SaaS Contract to a &quot;Vibe Coder&quot; (Even Though I Used AI Too)</title>
<link>https://coderlegion.com/19866/how-i-lost-a-six-figure-saas-contract-to-a-vibe-coder-even-though-i-used-ai-too</link>
<description>&lt;p&gt;&lt;em&gt;Have you seen the think-pieces. &quot;AI is coming for your jobs.&quot; &quot;English is the new programming language.&quot; As a seasoned software developer based in South Africa, I used to think I was ahead of the curve. I wasn't an AI denier; in fact, I actively use Agentic AI assistants to cut down my development time, spin up boilerplates, and ship features faster than ever.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I thought leveraging AI inside my IDE made me very competitive.&lt;br&gt;
Oh boy i was wrong by huge margin. Recently, I didn't just lose a lucrative, six-figure administrative SaaS contract to AI—I lost it to a human who didn't write a single line of code. I lost it to an Operations Manager who decided to &quot;vibe code&quot; an entire alternative system.&lt;/p&gt;
&lt;p&gt;Here is the wake-up call of how it happened, the sobering conversation we had, and why merely using AI as a coding assistant does not put us(software developers) head and shoulders above the rest.&lt;/p&gt;
&lt;h3 id=&quot;the-setup-fast-shipping-false-security&quot;&gt;The Setup: Fast Shipping, False Security&lt;/h3&gt;
&lt;p&gt;In early 2025, I landed a highly competitive contract to build a comprehensive administrative SaaS solution for a prominent local company in South Africa which does high end corporate events and venue management services. There was no single source of truth, operations and admin very disjointed. They need a solution to streamline operations and have one source of truth to make operations as efficient and effective as possible.I did my workflows audits and came up with a workable system that the owners loved, well eventually. &lt;/p&gt;
&lt;p&gt;There were feedback meetings we held after my presentation and made adjustments from the suggestions I got from management and lower staff. After a month or so my solution was adopted and went live. It was a bespoke SaaS.&lt;/p&gt;
&lt;p&gt;Using Claude Code helped me code components, generate APIs, and I rapidly deployed both a web portal and mobile application. Thanks to AI assistance, I built it in record time. The client was thrilled, and the project naturally transitioned into a highly lucrative monthly maintenance contract.&lt;br&gt;
I felt completely secure. I was the &quot;10x engineer&quot; who knew how to prompt, how to code, and how to architect. I held the keys to the repository.&lt;/p&gt;
&lt;p&gt;Then came the Operations Manager.&lt;/p&gt;
&lt;h3 id=&quot;the-plot-twist-please-don-t-be-angry-with-me-&quot;&gt;The Plot Twist: &quot;Please don't be angry with me...&quot;&lt;/h3&gt;
&lt;p&gt;The company’s Operations Manager is brilliant at his job, but he has zero software development background. He couldn't write a loop if his life depended on it. What he did have, however, was a 100% granular view of the company's daily operational bottlenecks—angles I hadn't fully captured because I didn't live in their day-to-day chaos.&lt;/p&gt;
&lt;p&gt;Instead of waiting for me to build custom features on my retainer, he signed up to Claude Max5 began vibe coding. He just fed the AI business logic, real-world data structures, and company pain points.&lt;br&gt;
Within two months, he didn't just build a prototype. He built a comprehensive, highly practical, fully functioning alternative SaaS solution.&lt;/p&gt;
&lt;p&gt;When he finally revealed what he had done, he asked to sit down with me. I'll never forget how the conversation started. He looked at me nervously and said:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&quot;Please don’t be angry with me. What I’m about to tell you might make you furiously angry with me...&quot;&lt;br&gt;
He then laid out his alternative system and explained his reasoning plainly: &quot;I didn’t want the company to keep spending massive amounts of money on a maintenance retainer when I could just build what we needed myself. It took me two months, spent about $700 on the build.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;His solution was vastly cheaper than my contract, completely tailored to their exact workflows, and it worked. He successfully beat me out of my own contract.&lt;/p&gt;
&lt;h3 id=&quot;the-realization-ai-assisted-coding-vs-pure-vibe-coding&quot;&gt;The Realization: AI-Assisted Coding vs. Pure Vibe Coding&lt;/h3&gt;
&lt;p&gt;This was a massive slice of humble pie. My immediate defense mechanism was to think, &quot;But I used AI to build my system too! My code is cleaner, safer, and better architected!&quot;&lt;br&gt;
But here is the brutal reality we have to face as professional developers: Knowing how to code using AI didn't protect me from the guy who doesn't know how to code at all.&lt;/p&gt;
&lt;p&gt;Why? Because I was using AI to write code. He was using AI to write solutions.&lt;br&gt;
I was focused on syntax efficiency, database optimization, and deployment pipelines. He was focused 100% on the organizational problems because he understood the business inside and out. To management, a $700 system built by an insider that solves 95% of their immediate operational problems today will always win over a beautifully architected, expensive system built by an external dev, who is me and you.&lt;/p&gt;
&lt;p&gt;By being dismissive or elitist about &quot;vibe coders,&quot; we are actively pushing ourselves out of business. Our direct competition is no longer just other software agencies; it’s the ambitious, frustrated employee inside our client's office.&lt;/p&gt;
&lt;h3 id=&quot;the-blueprint-how-we-take-the-lead&quot;&gt;The Blueprint: How We Take the Lead&lt;/h3&gt;
&lt;p&gt;If someone with zero coding knowledge can build a super-alternative SaaS system in two months for a few hundred dollars, imagine what we can do if we combine actual engineering fundamentals with that same level of business-centric execution.&lt;/p&gt;
&lt;h3 id=&quot;we-need-to-shift-our-focus-immediately-&quot;&gt;We need to shift our focus immediately:&lt;/h3&gt;
&lt;p&gt;&lt;em&gt;1. Stop Hiding Behind the Code&lt;/em&gt;&lt;br&gt;
Having our hands 100% under the hood isn't the flex it used to be. We need to spend less time worrying about the lines of code and more time understanding the business domain. If we don’t have a 100% view of the organization’s actual day-to-day problems, a vibe coder who does will replace us.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;2. Move from Developers to &quot;Super-Architects&quot;&lt;/em&gt;&lt;br&gt;
Vibe-coded applications are amazing for immediate business logic, but they eventually hit walls regarding complex security, data compliance (like POPIA here in South Africa), and massive scaling. Our value is no longer in typing the code faster than them; it's in being the guardrails. We should be the ones helping them architect, secure, and scale these systems safely.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;3. Build at 100x Speed, Not 10x&lt;/em&gt;&lt;br&gt;
If non-technical builders are using AI to disrupt us, we must use our technical knowledge to out-pace them. We know how databases should handle edge cases. We know how APIs should be secured. By combining deep engineering logic with high-speed AI generation, a single professional developer should be able to ship entire enterprise ecosystems over a weekend.&lt;/p&gt;
&lt;h3 id=&quot;the-silverlining&quot;&gt;The Silverlining&lt;/h3&gt;
&lt;p&gt;Losing that contract was a painful lesson, but it forced me to see where the tech landscape is heading. The gatekeeping era of software development is officially dead.&lt;br&gt;
Have you ever been bypassed by a non-technical stakeholder building their own tools? If you are a developer who uses AI, how are you changing your strategy to ensure you're delivering unique value that a &quot;vibe coder&quot; can't replicate?&lt;/p&gt;
&lt;p&gt;Let’s chat in the comments below!&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/19866/how-i-lost-a-six-figure-saas-contract-to-a-vibe-coder-even-though-i-used-ai-too</guid>
<pubDate>Sat, 06 Jun 2026 22:59:01 +0000</pubDate>
</item>
<item>
<title>Why Most Vibe Coded SaaS Apps Fail in Production (Even When They Work Perfectly Locally)</title>
<link>https://coderlegion.com/18326/why-most-vibe-coded-saas-apps-fail-in-production-even-when-they-work-perfectly-locally</link>
<description>&lt;p&gt;Most early-stage SaaS projects don’t fail because the idea is bad.&lt;/p&gt;
&lt;p&gt;They fail because the code was never designed for production in the first place.&lt;/p&gt;
&lt;p&gt;This is especially common in what I call “vibe coding”:&lt;/p&gt;
&lt;p&gt;Shipping fast, copying patterns, and assuming “it works” means “it’s correct”.&lt;/p&gt;
&lt;p&gt;It usually leads to silent system-level problems that only appear later.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-illusion-of-working-software&quot;&gt;The illusion of working software&lt;/h3&gt;
&lt;p&gt;A common pattern looks like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Authentication works&lt;/li&gt;
&lt;li&gt;APIs respond correctly&lt;/li&gt;
&lt;li&gt;UI behaves as expected&lt;/li&gt;
&lt;li&gt;No errors in development&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So everything feels “done”.&lt;/p&gt;
&lt;p&gt;But production environments expose a different reality.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;where-things-quietly-break&quot;&gt;Where things quietly break&lt;/h3&gt;
&lt;p&gt;Most issues are not obvious bugs.&lt;/p&gt;
&lt;p&gt;They are design oversights like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;insecure token handling&lt;/li&gt;
&lt;li&gt;hardcoded secrets&lt;/li&gt;
&lt;li&gt;missing validation layers&lt;/li&gt;
&lt;li&gt;trusting frontend input&lt;/li&gt;
&lt;li&gt;logging sensitive data unintentionally&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Individually, they don’t break the app.&lt;/p&gt;
&lt;p&gt;Together, they break trust in the system.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-real-problem-mindset&quot;&gt;The real problem: mindset&lt;/h3&gt;
&lt;p&gt;The issue isn’t technical ability.&lt;/p&gt;
&lt;p&gt;It’s the development approach:&lt;/p&gt;
&lt;p&gt;Build feature → verify it works → move on.&lt;/p&gt;
&lt;p&gt;Without asking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;what happens under load?&lt;/li&gt;
&lt;li&gt;what happens if logs leak?&lt;/li&gt;
&lt;li&gt;what happens if inputs are manipulated?&lt;/li&gt;
&lt;li&gt;what happens at scale?&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&quot;production-thinking-vs-vibe-thinking&quot;&gt;Production thinking vs vibe thinking&lt;/h3&gt;
&lt;p&gt;Vibe coding focuses on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;speed&lt;/li&gt;
&lt;li&gt;output&lt;/li&gt;
&lt;li&gt;visible success&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Production engineering focuses on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;failure modes&lt;/li&gt;
&lt;li&gt;security boundaries&lt;/li&gt;
&lt;li&gt;system behavior over time&lt;/li&gt;
&lt;li&gt;controlled exposure of data&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both can produce working apps.&lt;/p&gt;
&lt;p&gt;Only one produces stable SaaS products.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;what-changes-everything&quot;&gt;What changes everything&lt;/h3&gt;
&lt;p&gt;The shift happens when you stop asking:&lt;/p&gt;
&lt;p&gt;“Does this work?”&lt;/p&gt;
&lt;p&gt;And start asking:&lt;/p&gt;
&lt;p&gt;“Where does this break?”&lt;/p&gt;
&lt;p&gt;That single question changes how you design everything from authentication to architecture.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;final-thought&quot;&gt;Final thought&lt;/h3&gt;
&lt;p&gt;Most SaaS failures are not sudden.&lt;/p&gt;
&lt;p&gt;They are accumulated design decisions that were never revisited.&lt;/p&gt;
&lt;p&gt;Fixing that starts early, not after launch.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/18326/why-most-vibe-coded-saas-apps-fail-in-production-even-when-they-work-perfectly-locally</guid>
<pubDate>Tue, 19 May 2026 14:30:13 +0000</pubDate>
</item>
<item>
<title>Bridging the Context Gap: Providing Structural Awareness to AI Coding Agents in Go with GoGraph</title>
<link>https://coderlegion.com/17835/bridging-the-context-gap-providing-structural-awareness-to-ai-coding-agents-with-gograph</link>
<description>&lt;p&gt;The hardest part of using AI coding agents isn't getting them to write Go code. It's watching them burn through your context window just trying to figure out where things are.&lt;/p&gt;
&lt;p&gt;If you’ve spent any time using Claude, Antigravity or Copilot on a medium-to-large Go codebase, you know the drill. You ask the agent to modify a core component. Before it writes a single line of code, it starts blindly running grep, guessing file paths, and sequentially cat-ing files.&lt;/p&gt;
&lt;p&gt;By the time the agent finally maps out the upstream HTTP handlers, the database interactions, and the interface satisfactions, it has exhausted a massive chunk of its token limit. The context window is bloated with irrelevant side-material and raw text dumps. The more noisy, unstructured code you feed the agent, the higher the chance it gets confused and starts hallucinating bad logic.&lt;/p&gt;
&lt;p&gt;Agents don't fail because they are bad at writing logic. They fail because they have to brute-force their way to structural awareness.&lt;/p&gt;
&lt;p&gt;I got tired of watching my AI tools waste tokens and context guessing my repository structure, so I built &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/ozgurcd/gograph&quot;&gt;Gograph&lt;/a&gt;. It’s a local static analysis engine and Model Context Protocol (MCP) server that gives your AI agents a deterministic, whole-repository structural map of your Go projects in a single, token-efficient JSON query.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why RAG and Terminal Searching Aren’t Enough&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Right now, the industry usually tries to solve the codebase context problem in two ways: &lt;em&gt;vector embeddings&lt;/em&gt; through &lt;em&gt;RAG&lt;/em&gt;, or by letting agents inspect the repository through terminal commands. Both approaches are useful, but neither is sufficient on its own for reliable understanding of a large Go codebase.&lt;/p&gt;
&lt;p&gt;The issue with RAG is that vector embeddings are good at semantic retrieval. If you want to find code related to “user authentication logic,” embedding search can often surface relevant files or nearby concepts. But embeddings do not provide deterministic code intelligence. They cannot prove that &lt;em&gt;UserStore.Update()&lt;/em&gt; satisfies the &lt;em&gt;Datastore&lt;/em&gt; interface, identify every caller across package boundaries, or trace how an error propagates through several layers of middleware. Those relationships require parsing, type checking, and static analysis.&lt;/p&gt;
&lt;p&gt;The issue with terminal search is that agents often fall back to tools like &lt;em&gt;grep&lt;/em&gt;, &lt;em&gt;rg&lt;/em&gt;, or reading files directly. These tools are valuable for exact strings, symbols, config keys, routes, and quick navigation. But plain text search cannot reliably capture relationships that only exist after the compiler understands the program. In Go, interface satisfaction is implicit, indirect calls may flow through interfaces, and behavior may depend on build tags, generated code, or package-level wiring. A search-only approach is likely to miss non-obvious dependencies.&lt;/p&gt;
&lt;p&gt;For large Go repositories, reliable agent context needs more than semantic search and raw file inspection. It needs compiler-aware code intelligence: symbols, packages, imports, interfaces, implementations, call graphs, route mappings, test relationships, and error flows. RAG can help find relevant areas. Terminal tools can help inspect concrete files. But the agent also needs structured knowledge of how the code actually fits together.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fixing It With Static AST Analysis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instead of relying only on semantic similarity or raw text search, I wanted a tool that gives agents structured knowledge of a Go repository.&lt;/p&gt;
&lt;p&gt;Gograph uses Go’s native parsing infrastructure, including go/ast and go/parser, to build a static graph of your repository. It runs entirely on your local machine: no network requests, no sending proprietary source code to third-party APIs. Its goal is to map concrete code structure such as packages, symbols, functions, methods, struct fields, imports, call sites, route wiring, tests, and recognizable dependency paths.&lt;/p&gt;
&lt;p&gt;Gograph ships with more than 20 specialized static analysis commands, including tools to map concurrency primitives, identify oversized objects, discover potentially dead code, and extract SQL-related structure. However, I designed three primary commands specifically to act as the core structural guardrails for AI agents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.gograph plan &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Before an agent touches a file, it can run plan. Gograph analyzes the static code graph around the symbol and returns an impact-oriented view of the surrounding code.&lt;/p&gt;
&lt;p&gt;It can show callers, related packages, upstream HTTP routes where they are statically detectable, whether the execution path appears to touch persistence-related code, and which test files are likely to be affected.&lt;/p&gt;
&lt;p&gt;This gives the agent a concrete starting point instead of forcing it to guess from embeddings or repeatedly read files into context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2.gograph review &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;After the agent makes an edit, it can run review. This acts as a structural sanity check over the affected area.&lt;/p&gt;
&lt;p&gt;It can flag likely breakage in routing paths, changed dependencies, stale tests, and interface-related drift where those relationships are visible to static analysis. It is not a replacement for compilation or go test. It is an earlier feedback layer that helps agents catch structural mistakes before running the full verification loop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3.gograph errorflow &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When a test fails with an error like &quot;invalid token signature&quot;, the agent should not have to guess where that message originated. It can pass the string to errorflow.&lt;/p&gt;
&lt;p&gt;Gograph searches for where the error is created or wrapped, then follows the static return and call path as far as it can identify it. When the path is visible in the source graph, it can show how the error moves from the originating function toward higher-level handlers or tests.&lt;/p&gt;
&lt;p&gt;This is useful in larger Go services where errors often pass through repository, service, middleware, and handler layers before reaching the test output or API response.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What It Looks Like in Practice&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Let’s say you need an AI agent to add a &lt;em&gt;TenantID&lt;/em&gt; field to a &lt;em&gt;User&lt;/em&gt; struct in a shared package.&lt;/p&gt;
&lt;p&gt;If the agent relies only on raw search, it may find the struct, add the field, update the local constructor, and stop. The build may still fail because a &lt;em&gt;POST /api/v1/users&lt;/em&gt; handler in another package initializes the struct directly, or because repository code, SQL mapping, and integration tests also need updates.&lt;/p&gt;
&lt;p&gt;If the agent uses Gograph first, it can query the User symbol and get a structured view of the surrounding code. That view can show that the symbol is connected to a specific POST route, appears in repository code, participates in SQL-related paths, and is referenced by specific test files.&lt;/p&gt;
&lt;p&gt;The agent now has a better bounded scope for the change. Instead of editing one obvious file and discovering failures one by one, it can update the struct, handler, persistence path, and tests in a single coherent pass.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hooking It Up via MCP&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Gograph works as a standalone CLI, but it is also designed to be consumed by AI agents through the Model Context Protocol, or MCP.&lt;/p&gt;
&lt;p&gt;MCP is an open protocol introduced by Anthropic for connecting AI systems to local tools and data sources. Gograph ships with a built-in MCP server that operates over standard I/O.&lt;/p&gt;
&lt;p&gt;Instead of forcing the model to read and interpret unstructured terminal output, the MCP integration gives it structured, machine-readable JSON.&lt;/p&gt;
&lt;p&gt;For an MCP-compatible client such as Cursor or Claude Desktop, the configuration looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;{
  &quot;mcpServers&quot;: {
    &quot;gograph&quot;: {
      &quot;command&quot;: &quot;gograph&quot;,
      &quot;args&quot;: [&quot;mcp&quot;, &quot;/path/to/your/repository&quot;]
    }
  }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Once registered, the agent can query the repository graph before editing. It can inspect the structural impact of a proposed change, identify likely affected files, and build a more grounded execution plan before writing code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Getting Started&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you’re building in Go and tired of cleaning up after your AI tools, you can install Gograph right now:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# macOS / Linux (via Homebrew)
brew install ozgurcd/tap/gograph
# Or using Go:
go install github.com/ozgurcd/gograph/cmd/gograph@latest
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI agents work better when they are given structured context instead of raw text alone. RAG is useful for semantic retrieval. Terminal commands are useful for exact inspection. But large Go codebases also need code-aware context: packages, symbols, call paths, routes, tests, persistence boundaries, and error flows.&lt;/p&gt;
&lt;p&gt;That is the problem Gograph is trying to solve.&lt;/p&gt;
&lt;p&gt;If you’re building in Go and tired of cleaning up after your AI tools, give Gograph a try.&lt;/p&gt;
&lt;p&gt;Source Code and Documentation: &lt;strong&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/ozgurcd/gograph&quot;&gt;https://github.com/ozgurcd/gograph&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If you have ideas for other static analysis heuristics that would be useful for AI context, I'd love to hear your feedback! Feel free to open an issue or start a discussion on the GitHub repository.&lt;/em&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/17835/bridging-the-context-gap-providing-structural-awareness-to-ai-coding-agents-with-gograph</guid>
<pubDate>Thu, 14 May 2026 15:44:55 +0000</pubDate>
</item>
<item>
<title>LibKill: Scan Your Machine for Compromised npm, pip, and Bun Packages</title>
<link>https://coderlegion.com/17708/libkill-scan-your-machine-for-compromised-npm-pip-and-bun-packages</link>
<description>&lt;p&gt;Over the last few weeks, supply chain security has once again become a very real problem for developers.&lt;/p&gt;
&lt;p&gt;We keep seeing the same attack pattern:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;CI/CD token stolen
→ malicious package version published
→ developers install or update dependencies
→ compromised code lands on real machines
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And the worst part is simple:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You may already have one of those compromised packages on your machine without knowing it.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That is why I built &lt;strong&gt;LibKill&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&quot;what-is-libkill-&quot;&gt;What is LibKill?&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;LibKill&lt;/strong&gt; is an open-source supply chain security scanner.&lt;/p&gt;
&lt;p&gt;It checks your local development environment against a database of known compromised package artifacts.&lt;/p&gt;
&lt;p&gt;Currently, it scans:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;npm global packages&lt;/li&gt;
&lt;li&gt;pip packages&lt;/li&gt;
&lt;li&gt;Bun cache&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then it cross-references what it finds against &lt;strong&gt;2,672+ known compromised package artifacts&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If something suspicious is detected, LibKill can help you remove it interactively.&lt;/p&gt;
&lt;h3 id=&quot;why-i-built-it&quot;&gt;Why I built it&lt;/h3&gt;
&lt;p&gt;Most developers hear about compromised packages after the damage is already done.&lt;/p&gt;
&lt;p&gt;A package gets reported.&lt;br&gt;
A malicious version is removed.&lt;br&gt;
A GitHub advisory appears.&lt;br&gt;
A security company publishes an analysis.&lt;/p&gt;
&lt;p&gt;But then comes the real question:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Is any of this already on my machine?”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That question should be easy to answer.&lt;/p&gt;
&lt;p&gt;LibKill is my attempt to make that check fast, local, and simple.&lt;/p&gt;
&lt;h3 id=&quot;features&quot;&gt;Features&lt;/h3&gt;
&lt;p&gt;LibKill currently supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scanning npm global packages&lt;/li&gt;
&lt;li&gt;Scanning installed pip packages&lt;/li&gt;
&lt;li&gt;Scanning Bun cache&lt;/li&gt;
&lt;li&gt;Cross-checking against known compromised artifacts&lt;/li&gt;
&lt;li&gt;Interactive removal when threats are found&lt;/li&gt;
&lt;li&gt;Background daemon mode&lt;/li&gt;
&lt;li&gt;Desktop notifications&lt;/li&gt;
&lt;li&gt;macOS, Linux, and Windows support&lt;/li&gt;
&lt;li&gt;Single binary&lt;/li&gt;
&lt;li&gt;Zero runtime dependencies&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is written in Go and distributed as a small standalone binary.&lt;/p&gt;
&lt;h3 id=&quot;installation&quot;&gt;Installation&lt;/h3&gt;
&lt;p&gt;You can install it with one command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;curl -fsSL https://raw.githubusercontent.com/firfircelik/libkill/main/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Or build it manually:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;git clone https://github.com/firfircelik/libkill.git
cd libkill
make install
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;example-usage&quot;&gt;Example usage&lt;/h3&gt;
&lt;p&gt;After installation, run:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;libkill scan
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To start background monitoring:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;libkill daemon
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If compromised artifacts are found, LibKill will show the results and offer interactive cleanup options.&lt;/p&gt;
&lt;h3 id=&quot;threat-coverage&quot;&gt;Threat coverage&lt;/h3&gt;
&lt;p&gt;LibKill currently covers known compromised artifacts related to campaigns and threat clusters such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mini Shai-Hulud&lt;/li&gt;
&lt;li&gt;Contagious Interview&lt;/li&gt;
&lt;li&gt;StegaBin&lt;/li&gt;
&lt;li&gt;SANDWORM_MODE&lt;/li&gt;
&lt;li&gt;CanisterWorm&lt;/li&gt;
&lt;li&gt;W4SP&lt;/li&gt;
&lt;li&gt;TeamPCP&lt;/li&gt;
&lt;li&gt;and many others&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The threat database is built from public security sources including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Socket.dev&lt;/li&gt;
&lt;li&gt;GitHub Advisory Database&lt;/li&gt;
&lt;li&gt;OSV.dev&lt;/li&gt;
&lt;li&gt;Public security research&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;why-local-scanning-matters&quot;&gt;Why local scanning matters&lt;/h3&gt;
&lt;p&gt;A lot of supply chain security tools focus on repositories, lockfiles, or CI pipelines.&lt;/p&gt;
&lt;p&gt;That is useful, but it does not fully answer what is already installed locally.&lt;/p&gt;
&lt;p&gt;Developers often install tools globally.&lt;/p&gt;
&lt;p&gt;They test packages.&lt;/p&gt;
&lt;p&gt;They use temporary scripts.&lt;/p&gt;
&lt;p&gt;They work across multiple languages and package managers.&lt;/p&gt;
&lt;p&gt;They forget what was installed weeks ago.&lt;/p&gt;
&lt;p&gt;A compromised package does not need to be in your current production repository to be a problem.&lt;/p&gt;
&lt;p&gt;It may already exist somewhere in your local environment.&lt;/p&gt;
&lt;h3 id=&quot;project-details&quot;&gt;Project details&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Language: Go&lt;/li&gt;
&lt;li&gt;License: MIT&lt;/li&gt;
&lt;li&gt;Binary size: around 14 MB&lt;/li&gt;
&lt;li&gt;Dependencies: zero runtime dependencies&lt;/li&gt;
&lt;li&gt;Platforms: macOS, Linux, Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;GitHub:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-txt&quot;&gt;https://github.com/firfircelik/libkill
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;final-note&quot;&gt;Final note&lt;/h3&gt;
&lt;p&gt;LibKill is still evolving.&lt;/p&gt;
&lt;p&gt;My goal is to make it a practical local security tool for developers who work with open-source packages every day.&lt;/p&gt;
&lt;p&gt;If you work with npm, Python, Bun, or modern JavaScript tooling, you should not have to guess whether a known compromised artifact exists on your machine.&lt;/p&gt;
&lt;p&gt;You should be able to check it quickly.&lt;/p&gt;
&lt;p&gt;That is what LibKill is for.&lt;/p&gt;
&lt;p&gt;Feedback, issues, and contributions are welcome.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;curl -fsSL https://raw.githubusercontent.com/firfircelik/libkill/main/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Discussions</category>
<guid isPermaLink="true">https://coderlegion.com/17708/libkill-scan-your-machine-for-compromised-npm-pip-and-bun-packages</guid>
<pubDate>Wed, 13 May 2026 11:02:12 +0000</pubDate>
</item>
<item>
<title>Vibe coding got you here. Now what?</title>
<link>https://coderlegion.com/17407/vibe-coding-got-you-here-now-what</link>
<description>&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Vibe coding ships fast, but it often fails to preserve the &lt;em&gt;reasoning&lt;/em&gt; behind product behaviors — and agents refactoring later will “reasonably” change things users rely on. A lightweight behavior spec (&lt;code&gt;.pbc.md&lt;/code&gt;) makes “what must happen / must not happen” explicit so future you (and future agents) know what to protect, starting with high-risk modules like billing and auth.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vibe coding works. If you've used it seriously, you know this. You describe a feature, the model drafts it, you push it. Things that used to take a day take an hour. You ship faster than you ever have.&lt;/p&gt;
&lt;p&gt;The problem isn't the speed. The problem is what gets left behind.&lt;/p&gt;
&lt;h3 id=&quot;what-left-behind-means&quot;&gt;What &quot;left behind&quot; means&lt;/h3&gt;
&lt;p&gt;When you build normally — even scrappily — the reasoning behind a decision usually ends up somewhere. In a comment, a commit message, a Slack thread, a ticket. Imperfect, but traceable.&lt;/p&gt;
&lt;p&gt;When you vibe code, you're in a flow state. You describe what you want, the model gives you something close, you adjust, you ship. The gap between intention and implementation is so small that writing it down feels redundant.&lt;/p&gt;
&lt;p&gt;Weeks later, you have a product that works but you can't fully explain why it works the way it does.&lt;/p&gt;
&lt;p&gt;Not the code — you can read the code. The &lt;em&gt;reasoning&lt;/em&gt;. Why does the cancellation flow work like this? Why is the grace period five days and not seven? Why does the export fail silently on empty results instead of returning an error?&lt;/p&gt;
&lt;p&gt;The code remembers what you built. It doesn't remember why.&lt;/p&gt;
&lt;h3 id=&quot;why-this-compounds-with-ai-coding-agents&quot;&gt;Why this compounds with AI coding agents&lt;/h3&gt;
&lt;p&gt;The original vibe coding problem — reasoning drift — is bad on its own. AI coding agents make it worse in a specific way.&lt;/p&gt;
&lt;p&gt;Agents don't just read your code. They make inferences about intent. When you ask Claude Code or Codex to refactor a module, they read the existing implementation and decide what behavior to preserve and what to change. Without explicit constraints, that decision is partly guesswork.&lt;/p&gt;
&lt;p&gt;The agent isn't being careless. It's doing exactly what you asked. But it's filling in missing context with reasonable-looking assumptions — and reasonable assumptions about code aren't the same as correct assumptions about product behavior.&lt;/p&gt;
&lt;p&gt;The result: a refactor that passes tests and breaks something real. An &quot;improvement&quot; that changes behavior your users depend on. A simplification that removes an edge case that was load-bearing.&lt;/p&gt;
&lt;p&gt;You can't blame the agent for this. The rules were never written down.&lt;/p&gt;
&lt;h3 id=&quot;the-missing-layer&quot;&gt;The missing layer&lt;/h3&gt;
&lt;p&gt;There's a layer between &quot;what the code does&quot; and &quot;what the product promises&quot; that most teams never formalize. PRDs describe intent. Tests verify implementation. Neither one captures the behavior spec — the durable record of what your product guarantees and why.&lt;/p&gt;
&lt;p&gt;For teams that have been building for years, this layer lives in accumulated memory. For vibe-coded products, it often doesn't exist at all.&lt;/p&gt;
&lt;p&gt;That's the gap. And the longer you wait to address it, the more expensive it gets.&lt;/p&gt;
&lt;h3 id=&quot;what-to-do-about-it&quot;&gt;What to do about it&lt;/h3&gt;
&lt;p&gt;You don't need to slow down to fix this. You need a format that fits the way you actually work.&lt;/p&gt;
&lt;p&gt;That's what &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/stewie-sh/pbc-spec&quot;&gt;behavior specs&lt;/a&gt; are — formally Product Behavior Contracts (PBC) — a lightweight Markdown format for capturing what your product promises to do. Not a PRD. Not tests. Not Gherkin. Just the smallest artifact that makes product reasoning explicit and version-controlled.&lt;/p&gt;
&lt;p&gt;The key is the level of abstraction. A behavior spec doesn't describe the code — that changes with every refactor. It doesn't describe the strategy — that's too vague for agents to act on. It captures the &lt;strong&gt;decision&lt;/strong&gt;: &quot;Grace period is 14 days. Not configurable per plan. No data deletion during grace.&quot; The part that stays true even if you rewrite the module from scratch.&lt;/p&gt;
&lt;p&gt;The pattern is:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;PRD explains why (temporary — dies after shipping). PBC specifies what must remain true (durable — lives as long as the product does). Code and tests prove how (changes constantly).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A &lt;code&gt;.pbc.md&lt;/code&gt; file sits in your repo. It documents behaviors, rules, edge cases, and the decisions behind them — in plain Markdown your whole team can read. It's structured enough that tools can parse it, lightweight enough that you'll actually maintain it.&lt;/p&gt;
&lt;p&gt;The goal isn't to slow down the vibe. It's to leave something behind for future you — and for every agent that touches your codebase next.&lt;/p&gt;
&lt;h3 id=&quot;start-small&quot;&gt;Start small&lt;/h3&gt;
&lt;p&gt;You don't need to spec the whole product at once. Start with the module that would cause the most damage if an agent got it wrong. Billing. Auth. Entitlements.&lt;/p&gt;
&lt;p&gt;Write down three things for each behavior: what must happen, what must not happen, and the edge cases that matter. That's it. That's your behavior spec.&lt;/p&gt;
&lt;p&gt;Vibe coding got you here. A behavior spec is how you stay here.&lt;/p&gt;
&lt;p&gt;If you want to understand the deeper problem, read &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.stewie.sh/blog/the-gap-in-your-product-knowledge&quot;&gt;The gap between what your product does and what your team thinks it does&lt;/a&gt;. For what a behavior spec actually looks like, see &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.stewie.sh/blog/what-is-a-product-behavior-contract&quot;&gt;What is a Product Behavior Contract?&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;The PBC spec is open source at &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/stewie-sh/pbc-spec&quot;&gt;github.com/stewie-sh/pbc-spec&lt;/a&gt;. Stewie is the product being built on top of it — &lt;a rel=&quot;nofollow&quot; href=&quot;https://tally.so/r/PdlkLV?plan=blog&quot;&gt;join the beta waitlist&lt;/a&gt; if you want early access.&lt;/em&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/17407/vibe-coding-got-you-here-now-what</guid>
<pubDate>Mon, 11 May 2026 12:30:00 +0000</pubDate>
</item>
<item>
<title>The Sovereign Answering Machine: Demystifying the Cloud</title>
<link>https://coderlegion.com/17291/the-sovereign-answering-machine-demystifying-the-cloud</link>
<description>&lt;p&gt;We’ve been looking at the Cloud all wrong.&lt;/p&gt;
&lt;p&gt;We treat it like a high-security vault where we pay rent to keep our data alive.&lt;br&gt;
In reality, the Cloud is just a Telephone Line. ☁️&lt;/p&gt;
&lt;p&gt;With Gnoke-Zero, I’ve realized that the &quot;Big Boys&quot; pay massive bills for 24/7 uptime because their logic and data live in someone else's data center. But when you own the Kernel (the browser) and the Driver (the disk), the Cloud’s job changes.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The Post Office, Not the Warehouse&lt;/p&gt;
&lt;p&gt;You don't need the Cloud to store your student scores or inventory logs. Gnoke-Spirit and SaveNative already do that on your device.&lt;/p&gt;
&lt;p&gt;You only need the Cloud to stay awake while you sleep—like an answering machine.&lt;/p&gt;
&lt;p&gt;The Process:&lt;/p&gt;
&lt;p&gt;When a collaborator makes a change, they leave a &quot;message&quot; on the cloud line.&lt;/p&gt;
&lt;p&gt;The Sync:&lt;/p&gt;
&lt;p&gt;When you open your Infinix phone, iPad, Windows PC, Linux devices... Gnoke pulls the missed messages, and your local driver flushes them to your disk.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The Bill Killer&lt;/p&gt;
&lt;p&gt;By using a cheap shared host or a free tier as an Event Relay instead of a Database, you stop moving heavy cargo.&lt;/p&gt;
&lt;p&gt;You aren't uploading files; you're broadcasting &quot;events.&quot;&lt;/p&gt;
&lt;p&gt;It’s faster, consumes less data, and costs less to maintain. ⚡&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Decoupling Collaboration from Ownership&lt;/p&gt;
&lt;p&gt;The breakthrough isn't just that it's local—it's that it's Sovereign Hybrid.&lt;/p&gt;
&lt;p&gt;The internet is now just a peripheral. It’s a cable connecting two local hard drives.&lt;/p&gt;
&lt;p&gt;If the cloud provider shuts down, you lose the &quot;live chat,&quot; but you lose zero data.&lt;/p&gt;
&lt;p&gt;You just plug into a new &quot;telephone line&quot; and keep moving.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;What This Does Not Mean&lt;/p&gt;
&lt;p&gt;This does not replace all backend infrastructure or centralized systems.&lt;/p&gt;
&lt;p&gt;It redefines what actually needs to remain centralized.&lt;/p&gt;
&lt;p&gt;Some systems will still require traditional servers for scale, orchestration, security, analytics, or global uptime. The point is that many everyday apps are over-centralized by default when ownership and persistence could live closer to the user.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The conclusion:&lt;/p&gt;
&lt;p&gt;The server doesn't always need to be a warehouse.&lt;/p&gt;
&lt;p&gt;Sometimes it just needs to be a switchboard. &lt;/p&gt;
&lt;p&gt;The Browser is the Runtime.&lt;br&gt;
The Disk is the Database.&lt;br&gt;
The Cloud is the Messenger.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/17291/the-sovereign-answering-machine-demystifying-the-cloud</guid>
<pubDate>Sun, 10 May 2026 14:31:10 +0000</pubDate>
</item>
<item>
<title>The Architect’s Intuition: Why Theory Fails Without &quot;Vibe</title>
<link>https://coderlegion.com/16732/the-architects-intuition-why-theory-fails-without-vibe</link>
<description>&lt;h3 id=&quot;the-vibe-gap-theory-vs-intuition&quot;&gt;The &quot;Vibe&quot; Gap: Theory vs. Intuition&lt;/h3&gt;
&lt;p&gt;Most people start by learning how a system &lt;strong&gt;should&lt;/strong&gt; behave—the theory, the documentation, the &quot;right&quot; way. But engineering starts when you realize that what you were told and what you &lt;em&gt;feel&lt;/em&gt; are two different things.&lt;/p&gt;
&lt;h4 id=&quot;1-the-power-of-legacy-intuition&quot;&gt;1. The Power of &quot;Legacy&quot; Intuition&lt;/h4&gt;
&lt;p&gt;If you grew up with the snap of Windows XP or the glass aesthetic of Windows 7, that isn't just nostalgia; it’s a benchmark for responsiveness and UI density. When you can recognize an OS color or a boot sound from across the room, you have a built-in &quot;quality detector&quot; that theory can't teach.&lt;/p&gt;
&lt;h4 id=&quot;2-learning-by-realization&quot;&gt;2. Learning by Realization&lt;/h4&gt;
&lt;p&gt;Building is a cycle of &quot;Theory vs. Reality.&quot; You might design a tool to be perfectly minimal, only to realize mid-build that it lacks a &quot;History&quot; or a &quot;Pin&quot; feature. You didn't fail the design; you just discovered a practical truth that the theory missed.&lt;/p&gt;
&lt;h4 id=&quot;3-using-ai-as-the-bridge&quot;&gt;3. Using AI as the Bridge&lt;/h4&gt;
&lt;p&gt;The goal isn't just to write code; it's to stay in the &quot;flow state.&quot; Use AI assistants to handle the syntax of these familiar patterns so you can focus on the soul of the project. Our strengths aren't just in what we learn today, but in the familiarities we've carried with us for years.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Lesson:&lt;/strong&gt; Start where you are told, but build toward where you are drawn. That pull you keep returning to is where your best work lives.&lt;/p&gt;
&lt;p&gt;Build what feels right, refine with theory, and let intuition guide the systems you trust to ship.&lt;/p&gt;
&lt;p&gt;Vibe coding out loud.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/16732/the-architects-intuition-why-theory-fails-without-vibe</guid>
<pubDate>Tue, 05 May 2026 08:00:06 +0000</pubDate>
</item>
<item>
<title>AI No-Code &amp; Vibe-Coding Tools Devs Are Actually Talking About in 2026</title>
<link>https://coderlegion.com/16267/ai-no-code-vibe-coding-tools-devs-are-actually-talking-about-in-2026</link>
<description>&lt;p&gt;Look, not every project needs a full stack. Sometimes you just need to ship something — a prototype, an internal tool, a landing page — without spinning up a whole repo and CI/CD pipeline. That's where this new wave of AI-powered no-code and vibe-coding tools comes in.&lt;br&gt;
I've been poking around a bunch of them lately. Here's what's worth your attention.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;explain.codes — When You Need to Understand, Not Just Copy&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/7af40c18ffb5f8b2059965c8b37ca7ea.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
Before anything else: &lt;a rel=&quot;nofollow&quot; href=&quot;https://explain.codes/&quot;&gt;explain.codes&lt;/a&gt; is your &quot;wait, what does this actually do&quot; bookmark. It covers Python, JavaScript, Java, SQL, HTML, and more — written in plain language with real examples.&lt;br&gt;
It's not a builder, it's a reference. But if you're working with AI-generated code (from any of the tools below) and something looks off, this is where you go to actually understand what's happening instead of just re-prompting and hoping.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Instructa — The Course That Teaches You to Build With AI&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/42d73b7f87cd11c69277ce2f780d3ab3.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
If you want to go deeper than just vibing with prompts, &lt;a rel=&quot;nofollow&quot; href=&quot;https://instructa.ai/&quot;&gt;Instructa&lt;/a&gt; is a structured academy for learning AI-assisted software development. 80+ video lessons, planning prompts, Discord community, regular updates.&lt;br&gt;
It's developer-focused — you learn how to go from idea to roadmap to working product using AI as your co-pilot. More systematic than most &quot;learn to code with AI&quot; content out there.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unicorn Platform — Fastest Landing Page You'll Ever Ship&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/4301dd66ceb633bff284ccf390c460c9.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://unicornplatform.com/&quot;&gt;Unicorn Platform&lt;/a&gt; is an AI website builder for devs and founders who just need a landing page live TODAY. Describe your project, get a clean site. Works well for SaaS, apps, directories, personal portfolios.&lt;br&gt;
No messing with templates for hours. It's the kind of tool you use on a Sunday afternoon when you want to validate an idea before writing a single line of backend code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Metatable — Full-Stack App Builder, Actually&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/2423064c815a55c5740851b1b4765bf3.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://metatable.ai/&quot;&gt;Metatable&lt;/a&gt; is more serious. You give it your app idea, it drafts technical requirements, then an AI agent writes both frontend and backend code — and checks for errors before deploying.&lt;br&gt;
It's spec-driven, which is the right approach. Use cases range from inventory tools to field management to agency ops. If you're a solo dev who wants to ship a real product faster, this is worth a proper look.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Atoms.dev — An Entire AI Team in One Platform&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/eab602791414618f10d76f89797adfdc.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://atoms.dev/&quot;&gt;Atoms.dev&lt;/a&gt; is the most ambitious one on this list. Instead of one AI assistant, you get a whole crew: engineer, product manager, SEO specialist, data analyst, researcher. Each handles a different slice of building and launching a product.&lt;br&gt;
You describe what you want — SaaS, internal tool, game, landing page — and the AI team validates it, builds it, and helps you acquire users. No coding required. It's still early-days territory, but the concept is smart: most people don't need a code editor, they need leverage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eloquens AI — Automate Your Inbox Before It Automates You&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/eb11df5bc42322585ae62707cb751bf7.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://eloquens.ai/&quot;&gt;Eloquens&lt;/a&gt; is different from the rest here — it's not about building products, it's about handling the communication that comes after. Specifically, email. It reads your incoming messages (content and context both), and drafts responses automatically, 24/7, in any language.&lt;br&gt;
For developers building SaaS products, this becomes relevant fast once you start getting real users. Customer support emails don't stop coming. Eloquens is built by IgniteTech and has proper press coverage behind it — not a weekend project.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Note on Webdraw&lt;/strong&gt;&lt;br&gt;
&lt;img src=&quot;https://jpcdn.it/img/small/83d451b268d7a4bbb2fc0aafaeb3898f.png&quot; alt=&quot;png&quot;&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;http://webdraw.ai/&quot;&gt;Webdraw.ai&lt;/a&gt; was on my radar but the site currently redirects to a &quot;Thank You for the Journey&quot; page — looks like it shut down or pivoted. Keeping it here as a reminder that this space moves fast. Not everything sticks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bottom Line&lt;/strong&gt;&lt;br&gt;
The vibe-coding wave isn't replacing developers — it's changing where developers spend their time. Less boilerplate, more product decisions. Tools like Metatable and Atoms.dev are genuinely useful for prototyping fast. Unicorn Platform handles the boring landing page problem. Instructa and explain.codes keep you sharp when the AI does something weird.&lt;br&gt;
If you're a dev who wants to ship side projects faster or explore the no-code space from a technical angle, start with one of these and see where it takes you.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/16267/ai-no-code-vibe-coding-tools-devs-are-actually-talking-about-in-2026</guid>
<pubDate>Thu, 30 Apr 2026 13:06:38 +0000</pubDate>
</item>
<item>
<title>Vibe Coding Is Fun Until Production Breaks</title>
<link>https://coderlegion.com/14841/vibe-coding-is-fun-until-production-breaks</link>
<description>&lt;p&gt;Vibe coding is exactly what it sounds like: you describe what you want, your AI coding agent writes the implementation, and you ship it. No wrestling with boilerplate, no context-switching into unfamiliar APIs, no debugging stack traces line by line. Just intent → code → deploy.&lt;/p&gt;
&lt;p&gt;It is genuinely fast. Teams that have adopted AI-first development workflows report shipping features in hours that previously took days. The experience is intoxicating.&lt;/p&gt;
&lt;p&gt;The problem shows up in production. Not always immediately, not always dramatically — but consistently. A checkout flow that worked in the demo breaks for users in a specific browser. An edge case in the new auth logic causes silent failures. A UI component that the agent refactored now behaves differently when the viewport changes. The AI wrote correct code for the happy path, but nobody verified the full surface area.&lt;/p&gt;
&lt;p&gt;This is the vibe coding quality gap: the speed gain is real, but the verification step got left out.&lt;/p&gt;
&lt;h3 id=&quot;what-vibe-coding-actually-skips&quot;&gt;What Vibe Coding Actually Skips&lt;/h3&gt;
&lt;p&gt;Traditional software development has a built-in quality loop. Developers write code, run tests, review diffs, and iterate before shipping. Each step adds friction — but that friction catches bugs.&lt;/p&gt;
&lt;p&gt;Vibe coding compresses this loop dramatically. The agent writes the code, you review a high-level summary, and the diff goes out. The problem is that the review step scales poorly with the agent's output. A human can meaningfully review 50 lines of code. Reviewing 500 lines of agent-generated implementation across five files is a different task entirely.&lt;/p&gt;
&lt;p&gt;What actually gets skipped in most vibe coding workflows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;End-to-end verification&lt;/strong&gt; — does the feature actually work from a user's perspective?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Regression coverage&lt;/strong&gt; — did the agent's changes break something it wasn't supposed to touch?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edge case validation&lt;/strong&gt; — what happens with empty states, network failures, or unexpected inputs?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-browser consistency&lt;/strong&gt; — did the agent's CSS choices work everywhere?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These are not hypothetical concerns. &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.shiplight.ai/blog/ai-generated-code-has-more-bugs&quot;&gt;Research on AI-generated code quality&lt;/a&gt; consistently shows that AI-written code introduces bugs at higher rates than carefully reviewed human code — not because the models are bad, but because the verification loop is truncated.&lt;/p&gt;
&lt;h3 id=&quot;the-speed-trap&quot;&gt;The Speed Trap&lt;/h3&gt;
&lt;p&gt;Here is the dynamic that makes vibe coding quality gaps compound over time.&lt;/p&gt;
&lt;p&gt;When you ship fast and something breaks, the natural response is to have the agent fix it. The agent patches the bug, you ship the patch, and you move on. This works fine for isolated issues. But over weeks and months, an unverified codebase accumulates a debt of untested edge cases. Each fix potentially introduces new issues. The agent has no memory of what it previously changed or why.&lt;/p&gt;
&lt;p&gt;Without a persistent test suite, you have no ground truth. You cannot tell whether the latest agent commit made things better or worse in aggregate. You only find out when a user reports something.&lt;/p&gt;
&lt;p&gt;This is not a problem with the AI coding agents themselves — they are doing exactly what they were designed to do. It is a workflow design problem. The quality layer was never added.&lt;/p&gt;
&lt;h3 id=&quot;adding-qa-to-your-vibe-coding-workflow&quot;&gt;Adding QA to Your Vibe Coding Workflow&lt;/h3&gt;
&lt;p&gt;The good news is that vibe coding and comprehensive testing are not in conflict. The same agents that write your application code can be directed to write tests, run verifications, and maintain a quality gate — if you give them the right tools.&lt;/p&gt;
&lt;h4 id=&quot;step-1-give-your-agent-a-browser&quot;&gt;Step 1: Give your agent a browser&lt;/h4&gt;
&lt;p&gt;The most immediate gap in vibe coding workflows is live browser verification. Your agent can write a component, but it cannot see what that component looks like or how it behaves without a browser.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;/plugins&quot;&gt;Shiplight's browser MCP server&lt;/a&gt; gives your AI coding agent eyes and hands in a real browser. During development, the agent can open your application, navigate through the new feature, and verify that what it built actually works — before the code leaves your machine.&lt;/p&gt;
&lt;p&gt;This closes the most common vibe coding failure mode: code that passes linting and type checks but fails in practice.&lt;/p&gt;
&lt;h4 id=&quot;step-2-capture-verifications-as-regression-tests&quot;&gt;Step 2: Capture verifications as regression tests&lt;/h4&gt;
&lt;p&gt;Every time your agent verifies a feature in the browser, that verification can become a permanent test. Shiplight converts browser interactions into &lt;a rel=&quot;nofollow&quot; href=&quot;/yaml-tests&quot;&gt;YAML test files&lt;/a&gt; that live in your repo and run automatically in CI.&lt;/p&gt;
&lt;p&gt;These are not brittle tests that break every time your UI changes. The tests are written against the intent of each step (&quot;Click the submit button&quot;, &quot;Verify the confirmation message appears&quot;), not against specific DOM selectors. When your agent makes future changes, the tests adapt rather than fail on superficial differences.&lt;/p&gt;
&lt;h4 id=&quot;step-3-run-tests-on-every-agent-commit&quot;&gt;Step 3: Run tests on every agent commit&lt;/h4&gt;
&lt;p&gt;Once you have a test suite, wire it into your CI pipeline so every agent-generated commit gets verified before merge. &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.shiplight.ai/blog/github-actions-e2e-testing&quot;&gt;Shiplight's GitHub Actions integration&lt;/a&gt; makes this a one-time setup.&lt;/p&gt;
&lt;p&gt;The result: your agent can ship code at full vibe coding speed, and you get a regression gate that catches problems before they reach production.&lt;/p&gt;
&lt;h3 id=&quot;the-intent-cache-heal-pattern-for-vibe-coders&quot;&gt;The Intent-Cache-Heal Pattern for Vibe Coders&lt;/h3&gt;
&lt;p&gt;Traditional test automation breaks constantly because tests are tied to implementation details — specific CSS selectors, DOM structure, element IDs — that agents change freely. This is why most vibe coding teams do not bother with E2E tests: the maintenance burden exceeds the value.&lt;/p&gt;
&lt;p&gt;The &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.shiplight.ai/blog/intent-cache-heal-pattern&quot;&gt;intent-cache-heal pattern&lt;/a&gt; solves this. Tests describe what the user is trying to accomplish, not how the UI is currently built. When your agent restructures a component, the test heals automatically because the intent has not changed — only the implementation.&lt;/p&gt;
&lt;p&gt;This is the missing piece that makes comprehensive testing compatible with vibe coding's pace. You are not maintaining tests after every agent commit. The tests maintain themselves.&lt;/p&gt;
&lt;h3 id=&quot;what-a-vibe-coding-qa-workflow-looks-like&quot;&gt;What a Vibe Coding + QA Workflow Looks Like&lt;/h3&gt;
&lt;p&gt;A practical workflow looks like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Describe the feature&lt;/strong&gt; to your agent (Claude Code, Cursor, Codex, or any MCP-compatible agent)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent implements&lt;/strong&gt; the feature and opens it in a real browser via the Shiplight MCP server&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent verifies&lt;/strong&gt; the feature works end-to-end and documents the verification as a YAML test&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI runs&lt;/strong&gt; the test suite on the pull request — any regressions block the merge&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent fixes&lt;/strong&gt; flagged issues with the context from the test failure output&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Merge with confidence&lt;/strong&gt; — the full feature surface is verified&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The agent handles steps 2 through 5. Your job is to define the intent and review the evidence. That is what vibe coding should feel like.&lt;/p&gt;
&lt;h3 id=&quot;frequently-asked-questions&quot;&gt;Frequently Asked Questions&lt;/h3&gt;
&lt;h4 id=&quot;what-is-vibe-coding--1&quot;&gt;What is vibe coding?&lt;/h4&gt;
&lt;p&gt;Vibe coding is a development style where developers use AI coding agents to write code by describing intent in natural language. The AI agent handles implementation while the developer focuses on what the product should do rather than how to build it.&lt;/p&gt;
&lt;h4 id=&quot;why-does-vibe-coding-produce-bugs-&quot;&gt;Why does vibe coding produce bugs?&lt;/h4&gt;
&lt;p&gt;Vibe coding itself does not produce more bugs than traditional development — but the truncated review cycle means bugs are caught later. AI coding agents write for the specified requirements and may miss edge cases, cross-browser differences, or regressions in code they did not explicitly touch.&lt;/p&gt;
&lt;h4 id=&quot;can-ai-agents-write-their-own-tests-&quot;&gt;Can AI agents write their own tests?&lt;/h4&gt;
&lt;p&gt;Yes. With the right tooling, AI coding agents can generate tests automatically from their own verifications. Shiplight's MCP server lets agents verify features in a real browser and capture those verifications as self-healing YAML test files that live in your repo.&lt;/p&gt;
&lt;h4 id=&quot;does-adding-tests-slow-down-vibe-coding-&quot;&gt;Does adding tests slow down vibe coding?&lt;/h4&gt;
&lt;p&gt;Not significantly, when tests are generated automatically by the agent rather than written by hand. The overhead is a one-time CI setup. After that, tests run in the background and only interrupt the workflow when a real regression is found.&lt;/p&gt;
&lt;h4 id=&quot;how-do-self-healing-tests-work-with-frequently-changing-uis-&quot;&gt;How do self-healing tests work with frequently changing UIs?&lt;/h4&gt;
&lt;p&gt;Self-healing tests are written against the intent of each user action, not specific DOM selectors. When the UI changes, the test framework resolves the correct element by matching the described intent to the current page state. See &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.shiplight.ai/blog/what-is-self-healing-test-automation&quot;&gt;What Is Self-Healing Test Automation&lt;/a&gt; for a full explanation.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;References: &lt;a rel=&quot;nofollow&quot; href=&quot;https://playwright.dev&quot;&gt;Playwright Documentation&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.github.com/en/actions&quot;&gt;GitHub Actions documentation&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/14841/vibe-coding-is-fun-until-production-breaks</guid>
<pubDate>Wed, 15 Apr 2026 00:26:05 +0000</pubDate>
</item>
<item>
<title>The Axios Supply Chain Attack: How a &quot;Phantom Dependency&quot; Compromised Millions</title>
<link>https://coderlegion.com/13751/the-axios-supply-chain-attack-how-a-phantom-dependency-compromised-millions</link>
<description>&lt;p&gt;On March 31, 2026, the software development and Web3 communities were hit by one of the most severe supply chain attacks in recent history. Axios, an incredibly popular JavaScript HTTP client with an estimated 100 million to over 300 million weekly downloads, was compromised. Threat actors injected a malicious dependency that delivered a cross-platform Remote Access Trojan (RAT) directly to developer workstations, CI/CD runners, and enterprise servers. &lt;/p&gt;
&lt;p&gt;When the attack first happened, Axios maintainers were unable to regain control of the project. In a public GitHub issue, a collaborator stated they could not revoke access from the account responsible for the malicious publish, noting that the attacker’s permissions exceed their own.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9mrod5j13u18qcn95fbj.jpg&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;This incident stands out not just for its massive blast radius, but for the sophisticated techniques the attackers used to bypass modern CI/CD safeguards, evade forensic detection, and exploit modern AI-assisted development habits.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Account Hijack and Bypassing SLSA Provenance&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The attack was not the result of a vulnerability in the Axios source code. Instead, it was a direct release-path hijacking. The attacker compromised the npm account of Jason Saayman, the primary maintainer of the Axios project, and changed the associated email to an attacker-controlled ProtonMail address (ifstap@proton.me).&lt;/p&gt;
&lt;p&gt;Using these compromised credentials, the attacker manually published two malicious versions: axios@1.14.1 and axios@0.30.4. This manual publication via the npm CLI bypassed the project's standard GitHub Actions continuous integration pipeline. Consequently, these malicious versions lacked OIDC Trusted Publisher cryptographic SLSA provenance, and had no corresponding source code commits or tags on the official Axios GitHub repository.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The &quot;Phantom Dependency&quot; Injection&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To avoid drawing attention through large code modifications, the attacker did not alter a single line of the actual Axios JavaScript source. Instead, they made a surgical edit to the package.json file, adding a new dependency: plain-crypto-js@^4.2.1.&lt;/p&gt;
&lt;p&gt;This is known as a &quot;phantom dependency.&quot; The plain-crypto-js package was never imported or required anywhere in the Axios execution path. Its sole purpose was to exist in the dependency tree so that npm would automatically execute its postinstall lifecycle script (&quot;postinstall&quot;: &quot;node setup.js&quot;) during routine dependency resolution.&lt;/p&gt;
&lt;p&gt;To build credibility and evade zero-history scanners, the attacker (using the account nrwise@proton.me) first published a clean decoy version of the package (4.2.0) containing legitimate cryptography library code. Just minutes before pushing the poisoned Axios releases, they published the malicious 4.2.1 update.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kv1d4c0b58mr7n3ecnur.jpg&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Obfuscation and Platform-Specific RATs&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;When a developer or build server ran npm install, the setup.js dropper was triggered. This script utilized a custom two-layer obfuscation scheme designed to defeat static analysis. Strings were reversed, base64-encoded, and padded with underscores, then decrypted using a position-dependent XOR cipher derived from the key &quot;OrDeR_7077&quot; and XORed again with the constant 333.&lt;/p&gt;
&lt;p&gt;Once deobfuscated, the dropper detected the host operating system (os.platform()) and contacted the Command and Control (C2) server at &lt;a rel=&quot;nofollow&quot; href=&quot;http://sfrclak.com:8000/6202033&quot;&gt;http://sfrclak.com:8000/6202033&lt;/a&gt; (IP: 142.11.206.73). To blend in with legitimate traffic, the malware spoofed HTTP POST bodies to look like npm registry requests, using strings such as packages.npm.org/product0.&lt;/p&gt;
&lt;p&gt;The C2 server dynamically delivered specialized second-stage payloads:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;macOS (product0): An AppleScript fetched a Mach-O universal binary RAT written in C++. It was saved to /Library/Caches/com.apple.act.mond—deliberately mimicking Apple's reverse-DNS daemon naming conventions to blend into routine system background processes—and executed via /bin/zsh.

Windows (product1): The dropper utilized an Endpoint Detection and Response (EDR) evasion tactic by copying the system's PowerShell binary to %PROGRAMDATA%\wt.exe to disguise it as Windows Terminal. A hidden VBScript then silently executed a .ps1 PowerShell RAT reflectively.

Linux (product2): The dropper fetched a Python script to /tmp/ld.py and ran it as a detached background process using nohup python3. This allowed the malware process to orphan itself to PID 1, surviving long after the initial npm install command had terminated.
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;Anti-Forensics and the &quot;Vibe Coding&quot; Threat&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After the malware was successfully deployed, the setup.js script immediately initiated a self-destruct sequence. It deleted its own script file, deleted the infected package.json, and restored a pre-staged clean decoy (package.md) in its place. As a result, any developer casually inspecting the node_modules/plain-crypto-js directory post-infection would see a clean cryptography library with no postinstall hook, effectively neutralizing shallow forensic audits.&lt;/p&gt;
&lt;p&gt;The rapid propagation of this malware was severely exacerbated by the modern AI &quot;vibe coding&quot; trend. Developers utilizing AI agents (such as Claude) to scaffold applications frequently execute npm install commands without manually auditing package.json diffs or lockfiles. Because developers implicitly trusted the AI's output, the malware cascaded into downstream AI tooling within hours, compromising packages like @shadanai/openclaw and @qqbrowser/openclaw-qbot.&lt;/p&gt;
&lt;p&gt;Immediate Remediation Plan&lt;/p&gt;
&lt;p&gt;If you or your CI/CD pipelines installed axios@1.14.1 or axios@0.30.4, you must assume total host compromise. The payload has full capabilities to exfiltrate SSH keys, cloud CLI credentials, and crypto-wallet private keys. Remediation requires a comprehensive response:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Pin Safe Versions: Explicitly lock Axios to 1.14.0 or 0.30.3 in your package.json and lockfiles.

Hunt for Artifacts: Check for the presence of the node_modules/plain-crypto-js directory, /tmp/ld.py, %PROGRAMDATA%\wt.exe, or /Library/Caches/com.apple.act.mond.

Rebuild, Don't Clean: If artifacts are found, do not attempt to clean the system in place. Rebuild affected developer machines and persistent CI runners from known-good base images.

Rotate All Secrets: Rotate any SSH keys, cloud credentials, npm tokens, and .env variables that were present on the host during the npm install window.

Enforce Safe Installs: Update your CI/CD pipelines to default to npm ci --ignore-scripts to categorically prevent dependency lifecycle scripts from executing without explicit authorization during automated builds.
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/13751/the-axios-supply-chain-attack-how-a-phantom-dependency-compromised-millions</guid>
<pubDate>Tue, 31 Mar 2026 09:23:40 +0000</pubDate>
</item>
<item>
<title>The Anatomy of the LiteLLM Supply Chain Attack: A Catastrophic Compromise in the AI Ecosystem via &quot;Vibe Coding&quot;</title>
<link>https://coderlegion.com/13552/anatomy-the-litellm-supply-chain-attack-catastrophic-compromise-ecosystem-vibe-coding</link>
<description>&lt;p&gt;The Anatomy of the LiteLLM Supply Chain Attack: A Catastrophic Compromise in the AI Ecosystem via &quot;Vibe Coding&quot;&lt;/p&gt;
&lt;p&gt;The Keys to the AI Kingdom &lt;/p&gt;
&lt;p&gt;On March 24, 2026, the artificial intelligence developer ecosystem experienced an unprecedented software supply chain attack. The target was litellm, an immensely popular Python package with 97 million monthly downloads that serves as a universal adapter connecting applications to over 100 LLM APIs from providers like OpenAI, Anthropic, and Google.&lt;/p&gt;
&lt;p&gt;The attacker, a financially motivated threat group known as TeamPCP (also tracked as PCPcat, Persy_PCP, ShellForce, and DeadCatx3), managed to publish two malicious versions (1.82.7 and 1.82.8) directly to the Python Package Index (PyPI). Over a critical 46-minute window, these compromised versions were downloaded 46,996 times before being quarantined. As product growth writer Aakash Gupta noted, the attackers brilliantly &quot;picked the one package whose entire job is holding every AI credential in the organization in one place&quot;.&lt;/p&gt;
&lt;p&gt;The Irony of the Attack Chain: &lt;/p&gt;
&lt;p&gt;When Security Tools Become Weapons &lt;/p&gt;
&lt;p&gt;The story of the LiteLLM compromise reads like an M. Night Shyamalan movie full of tragic twists. The vulnerability did not stem from sloppy coding in LiteLLM itself, but ironically, from the maintainers correctly using a security scanner.&lt;/p&gt;
&lt;p&gt;The attack chain started weeks earlier when an AI-powered autonomous agent named &quot;hackerbot-claw&quot; (or &quot;openclaw&quot;) targeted Aqua Security's trivy-action, a widely used open-source vulnerability scanner. The AI bot exploited a highly dangerous pull_request_target GitHub Actions workflow misconfiguration, allowing attackers to steal a privileged token. With this token, TeamPCP rewrote the immutable-looking Git tags for Trivy's v0.69.4 release to point to a malicious commit.&lt;/p&gt;
&lt;p&gt;On March 24, when the LiteLLM CI/CD pipeline ran the poisoned Trivy scanner during their automated build process, the security tool executed the malware and exfiltrated LiteLLM's PYPI_PUBLISH token. Armed with this credential, TeamPCP bypassed standard GitHub release protocols and uploaded the malware directly to PyPI.&lt;/p&gt;
&lt;p&gt;Two Delivery Mechanisms: &lt;/p&gt;
&lt;p&gt;Source Injection and the Dreaded .pth Hook &lt;/p&gt;
&lt;p&gt;The attackers deployed two distinct versions with different injection techniques:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Version 1.82.7 (10:39 UTC): The payload was double base64-encoded (a technique YouTubers jokingly referred to as &quot;double based&quot;) and embedded directly inside proxy_server.py. It exfiltrated data to checkmarx[.]zone/raw, a typosquat of a legitimate security vendor compromised in a parallel attack.

Version 1.82.8 (10:52 UTC): This escalated the attack using a 34,628-byte file named litellm_init.pth dropped into the site-packages/ directory. The .pth mechanism fires on every Python interpreter startup with no import required. Because the malicious file was correctly declared in the wheel's RECORD file, it perfectly bypassed pip hash verification checks.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The Three-Stage Payload: &lt;/p&gt;
&lt;p&gt;Catching Credentials &quot;Like Pokémon&quot;&lt;/p&gt;
&lt;p&gt; Once triggered, the malware executed a sophisticated three-stage operation. In Stage 1, it treated system secrets &quot;like Pokémon,&quot; attempting to aggressively catch them all. The script harvested SSH private keys, .env files, Git credentials, Slack/Discord webhooks, CI/CD configs (Terraform, GitLab, Jenkins), and database passwords. It targeted cloud environments specifically, reading ~/.aws/credentials, querying AWS IMDS endpoints, and making live API calls to AWS Secrets Manager and Kubernetes clusters. It even swept the system for cryptocurrency wallets, targeting Bitcoin, Litecoin, Ethereum, Solana, Cardano, and Monero.&lt;/p&gt;
&lt;p&gt;In Stage 2, the exfiltration was highly secured. The malware generated a random 32-byte AES-256 session key to encrypt the stolen data (PBKDF2 key derivation). This session key was then encrypted using a hardcoded 4096-bit RSA public key embedded in the payload. Bundled into an archive named tpcp.tar.gz, the data was exfiltrated to models.litellm.cloud (registered just one day prior).&lt;/p&gt;
&lt;p&gt;Stage 3 established lateral movement and persistence. The malware dropped a backdoor Python script at ~/.config/sysmon/sysmon.py and created a systemd service called &quot;System Telemetry Service&quot;. On Kubernetes clusters, it used stolen service account tokens to read secrets across all namespaces and deployed privileged alpine:latest pods named node-setup-{node_name} to install the backdoor directly onto the underlying host machines. To mock security researchers analyzing the malware in sandboxes, the C2 server was configured to return a link to an English remastering of the song &quot;Bad Apple!!&quot;.&lt;/p&gt;
&lt;p&gt;&quot;Vibe Coding&quot; and the Accidental Fork Bomb &lt;/p&gt;
&lt;p&gt;Despite its sophistication, the stealthy attack was uncovered within an hour due to a sloppy implementation bug. Callum McMahon, a researcher at FutureSearch, was testing an MCP plugin inside the Cursor IDE. Because Cursor used uvx to launch the MCP server, it automatically pulled in litellm as an unpinned transitive dependency.&lt;/p&gt;
&lt;p&gt;When the .pth file triggered upon installation, it used subprocess.Popen to spawn a child Python process. However, because .pth files trigger on every Python startup, the child process repeatedly re-triggered the payload, accidentally creating an exponential fork bomb that spawned 11,000 processes and exhausted the RAM on McMahon's 48GB Mac.&lt;/p&gt;
&lt;p&gt;Using Claude Code, McMahon decoded the base64 string (import subprocess\nimport tempfile) and discovered the rogue package. Prominent AI scientist Andrej Karpathy pointed out the extreme irony of this accidental discovery. In his analysis, Karpathy emphasized: &quot;So if the attacker didn't vibe code this attack it could have been undetected for many days or weeks&quot;. The malware's own poor quality is exactly what made it visible.&lt;/p&gt;
&lt;p&gt;The GitHub Cover-Up and the Compliance Tragicomedy &lt;/p&gt;
&lt;p&gt;When McMahon reported the malware on the BerriAI/litellm GitHub repository (Issue #24512), TeamPCP actively suppressed the disclosure. Using the fully compromised account of LiteLLM maintainer Krrish Dholakia, the attackers abruptly closed the critical security issue as &quot;not planned&quot;. Simultaneously, they deployed a botnet to flood the thread with 88 fake, AI-generated replies (e.g., &quot;great explanation thanks for sharing&quot;) in just 102 seconds to confuse investigators. The attackers even used the compromised maintainer account to subtly change Calendly meeting invite links to fake ones.&lt;/p&gt;
&lt;p&gt;Adding a final layer of dark comedy to the incident, users discovered that LiteLLM advertised its security through a compliance company named Delve, promising &quot;AI native compliance&quot;. Ironically, Delve itself was simultaneously facing accusations of misleading customers with fake SOC 2 compliance reports, perfectly encapsulating the chaotic state of modern software security.&lt;/p&gt;
&lt;p&gt;&quot;Software Horror&quot; and the &quot;Yoink&quot; Philosophy &lt;/p&gt;
&lt;p&gt;The blast radius of this 46 minute window was catastrophic. Because the contagion spreads transitively, major AI frameworks like DSPy, MLflow, OpenHands, and CrewAI automatically pulled the malware as an indirect dependency. TeamPCP claims to have stolen 300GB of compressed credentials from over 500,000 systems and is actively extorting multi-billion dollar companies like Stripe, Netflix, and Google.&lt;/p&gt;
&lt;p&gt;Andrej Karpathy labeled the incident an absolute &quot;software horror&quot;. Emphasizing the absurdity of the situation, he stated: &quot;Simple pip install litellm was enough to exfiltrate SSH keys, AWS/GCP/Azure creds, Kubernetes configs, git credentials, env vars (all your API keys), shell history, crypto wallets, SSL private keys, CI/CD secrets, database passwords&quot;.&lt;/p&gt;
&lt;p&gt;He warned of the massive contagion effect, explaining that &quot;if you did pip install dspy (which depended on litellm&amp;gt;=1.64.0), you'd also be pwnd&quot;. Karpathy summarized the ultimate lesson of the breach: &quot;Supply chain attacks like this are basically the scariest thing imaginable in modern software. Every time you install any dependency you could be pulling in a poisoned package anywhere deep inside its entire dependency tree.&quot;&lt;/p&gt;
&lt;p&gt;Classical software engineering treats dependencies as inherently good a mindset Karpathy described as believing &quot;we're building pyramids from bricks.&quot; However, he warns this philosophy must be re evaluated. Instead of relying on massive, opaque dependency trees, developers should use LLMs to &quot;yoink&quot; (extract and copy) only the specific code fragments they need directly into their codebases when it is simple enough and possible.&lt;/p&gt;
&lt;p&gt;Security experts advise that anyone who installed or indirectly pulled litellm versions 1.82.7 or 1.82.8 must assume total system compromise. Remediation requires a complete rotation of all SSH keys, cloud tokens, database passwords, and API keys, along with purging package manager caches and thoroughly auditing Kubernetes environments for persistent backdoors. Ultimately, this incident serves as a historical warning that even the most trusted security tools and AI wrappers can become the very vectors that destroy an organization's infrastructure.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/13552/anatomy-the-litellm-supply-chain-attack-catastrophic-compromise-ecosystem-vibe-coding</guid>
<pubDate>Fri, 27 Mar 2026 10:41:09 +0000</pubDate>
</item>
<item>
<title>CodeDNA: An In-Source Communication Protocol for AI Coding Agents</title>
<link>https://coderlegion.com/13515/codedna-an-in-source-communication-protocol-for-ai-coding-agents</link>
<description>&lt;p&gt;I’ve been working in software development for 15 years, but this is my first independent open-source publication. It stems from a practical frustration I believe many of you share.&lt;/p&gt;
&lt;p&gt;Working with AI coding tools and agent orchestrators (like Google Antigravity, Anthropic(claude), or Cursor), I noticed something: models write single-file code excellently, but they struggle to navigate and tend to hallucinate as soon as they need to understand the architecture of an entire multi-file project.&lt;br&gt;
To try and solve this, I built CodeDNA (currently v0.7 and heavily experimental).&lt;br&gt;
It’s a true inter-agent communication protocol. &lt;/p&gt;
&lt;p&gt;The idea is that the source file itself becomes the asynchronous communication channel between different LLMs. When an agent modifies the code, it updates the annotations. When another agent (perhaps from a different vendor) opens that file months later, it &quot;decodes&quot; this DNA and knows exactly how to move.&lt;/p&gt;
&lt;p&gt;CodeDNA is inspired by how the human eye works. To understand a complex system, we need to focus both from far away and up close. Instead of relying on heavy RAG systems or infinite prompts, the code itself becomes the shared memory, structured across multiple levels of &quot;zoom&quot;:&lt;br&gt;
 The view from far away: A structural map of the project (a .codedna file) that the agent reads before opening any source code.  The view from close up: Architectural context (like who uses the file, used_by:, and domain rules, rules:) embedded directly into the docstrings.&lt;/p&gt;
&lt;p&gt; Early data (the good and the bad): I ran zero-shot benchmarks on 5 real Django issues (SWE-bench). On tasks with clear dependency chains, CodeDNA improved navigation precision by +13%. The goal of this scaffolding is exactly this: to eventually allow smaller, cheaper models to approach the navigation performance of the most expensive frontier models. However, on cross-cutting modifications, the measured improvement so far is ~0%. No magic wands here, and it’s all documented transparently in the spec.&lt;/p&gt;
&lt;p&gt;️ My ask: try it out. Because this is a purely experimental project, the best way to see if it makes sense or hits unbreakable limits is to have other developers test it in the field. &lt;/p&gt;
&lt;p&gt;There's a 2-minute setup script that configures CodeDNA directly for your favorite AI tool.&lt;br&gt;
I only ask this: install it on a side project, let it annotate a few files, and see if your AI starts making fewer context errors. Above all: break it and give me brutal feedback.&lt;/p&gt;
&lt;p&gt;Here are the links to the project! &lt;br&gt;
 Repository &amp;amp; 2-min Quickstart: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/Larens94/codedna&quot;&gt;https://github.com/Larens94/codedna&lt;/a&gt;&lt;br&gt;
 Full v0.7 Specs &amp;amp; Benchmarks: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/Larens94/codedna/blob/main/SPEC.md&quot;&gt;https://github.com/Larens94/codedna/blob/main/SPEC.md&lt;/a&gt;&lt;br&gt;
This is an open experiment, so I'm happy to answer any technical questions, doubts, or critiques here in the comments!&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/13515/codedna-an-in-source-communication-protocol-for-ai-coding-agents</guid>
<pubDate>Thu, 26 Mar 2026 13:25:06 +0000</pubDate>
</item>
<item>
<title>From Monolith to Microservices: How Bounded Context Improves AI-Driven Development</title>
<link>https://coderlegion.com/13269/from-monolith-to-microservices-how-bounded-context-improves-ai-driven-development</link>
<description>&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;
&lt;p&gt;When we first launched our vibe coding platform, the architecture started as a single monolithic application. Initially this approach allowed us to move quickly and ship features fast.&lt;/p&gt;
&lt;p&gt;But as the platform grew, the warning signs appeared.&lt;/p&gt;
&lt;p&gt;The codebase became increasingly complex, new features were harder to implement, and development velocity began to slow down. What once felt manageable started to evolve into a tightly coupled system that was difficult to reason about.&lt;/p&gt;
&lt;p&gt;To solve this, we made a strategic decision: refactor the platform from a monolith into a microservices architecture.&lt;/p&gt;
&lt;p&gt;In this article we explain:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Why monolithic architectures struggle in AI-driven systems&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How Domain-Driven Design (DDD) helps define system boundaries&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Why bounded contexts are critical for AI agents&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How we split our platform into eight microservices&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This architectural shift significantly improved both developer productivity and AI agent performance.&lt;/p&gt;
&lt;h3 id=&quot;understanding-domain-driven-design&quot;&gt;Understanding Domain-Driven Design&lt;/h3&gt;
&lt;p&gt;The concept of Domain-Driven Design (DDD) was introduced by Eric Evans in the influential book Domain‑Driven Design: Tackling Complexity in the Heart of Software.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/caoz8ghxy7zj5bjpl12s.jpg&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;Although the book was published in 2003, its ideas remain extremely relevant today. Many modern architectural patterns—including microservices—are heavily inspired by DDD principles.&lt;/p&gt;
&lt;p&gt;DDD focuses on one core idea:&lt;/p&gt;
&lt;p&gt;Software architecture should mirror the structure of the business domain. Instead of organizing systems purely around technical layers, DDD encourages teams to structure software around real business capabilities and concepts.&lt;/p&gt;
&lt;p&gt;While doing domain distillation, we detected the 6 main bounded contexts that can act as independent services: project planning, AI coding, project deployment, version control, observability, account and billing.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uvz5nkx1t2ol5tlnhe2e.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;the-monolith-vs-microservices-debate&quot;&gt;The Monolith vs Microservices Debate&lt;/h3&gt;
&lt;p&gt;For years developers have debated a fundamental architectural question:&lt;/p&gt;
&lt;p&gt;Should applications remain monolithic, or should they be broken into microservices?&lt;/p&gt;
&lt;p&gt;Monoliths have advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Simpler deployments&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easier early development&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fewer distributed systems challenges&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, as systems scale, monoliths often become harder to maintain. Large codebases accumulate complexity and eventually turn into what developers often call a &quot;Big Ball of Mud.&quot;&lt;/p&gt;
&lt;p&gt;Today the conversation has evolved even further. We are no longer building systems only for human developers. We are building systems that AI agents interact with, modify, and reason about. And this introduces a new challenge.&lt;/p&gt;
&lt;h3 id=&quot;why-monolithic-architectures-confuse-ai-agents&quot;&gt;Why Monolithic Architectures Confuse AI Agents&lt;/h3&gt;
&lt;p&gt;AI agents rely heavily on clear context boundaries.When a system grows into a large monolithic repository:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Domain concepts overlap&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Terminology becomes ambiguous&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Architectural boundaries blur&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This makes it harder for AI systems to correctly interpret intent. For example, an AI agent might receive a command such as:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Create a project.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In a large monolith, the term project might refer to several different things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A planning workspace&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A source code repository&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A deployment environment&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Without clear boundaries, the AI agent must guess the meaning. And guessing leads to errors. This is why architectural clarity matters even more in AI-driven development environments.&lt;/p&gt;
&lt;h3 id=&quot;what-is-a-bounded-context-&quot;&gt;What Is a Bounded Context?&lt;/h3&gt;
&lt;p&gt;A Bounded Context is a central concept in Domain-Driven Design. It defines a clear boundary within which a specific domain model applies and terminology has a single meaning.&lt;/p&gt;
&lt;p&gt;Inside a bounded context:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Language is consistent&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concepts are clearly defined&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Domain logic belongs only to that context&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This creates a shared understanding between:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Developers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Domain experts&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI agents&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each context effectively becomes its own mini-world with well-defined rules.&lt;/p&gt;
&lt;h4 id=&quot;why-bounded-contexts-improve-ai-development&quot;&gt;Why Bounded Contexts Improve AI Development&lt;/h4&gt;
&lt;p&gt;In large software systems, the same word can mean different things in different domains. While building our AI coding platform, we encountered this problem quickly. Consider the word project.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ik5g0t5d1ceg7mjhw2t.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;When both meanings existed in the same codebase, confusion spread. Not only for engineers—but for AI agents operating within the platform. By introducing bounded contexts, we ensured that each domain defines its own terminology and behavior. This dramatically improved the reliability of both human workflows and AI-generated development tasks.&lt;/p&gt;
&lt;h3 id=&quot;our-microservices-architecture&quot;&gt;Our Microservices Architecture&lt;/h3&gt;
&lt;p&gt;After refactoring the platform using Domain-Driven Design principles, we divided the system into eight bounded contexts, each implemented as a separate microservice.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7ygq5pwlprz8dxz3baws.png&quot; alt=&quot;Image description&quot;&gt;&lt;/p&gt;
&lt;p&gt;This allowed each domain to evolve independently while maintaining clear system boundaries.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Project Planning Context&lt;/strong&gt; - manages planning activities. Within this domain we store: tasks, projects, agent which generate tasks...&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI Coding Context&lt;/strong&gt; - this is where development actually happens. AI coding agents operate in this domain and perform tasks such as: writing code, committing changes, managing development workflows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Project Deployment Context&lt;/strong&gt; - manages the infrastructure and pipelines required to deploy software built by AI agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Version Control Context&lt;/strong&gt; - while platforms like GitHub provide robust version control, we chose to build a lightweight internal system optimized specifically for AI-driven development workflows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Observability Context&lt;/strong&gt; - collects events and analytics from across the platform.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Account and Billing Context&lt;/strong&gt; - manages user accounts, platform credits, payments.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API Gateway&lt;/strong&gt; - acts as the central entry point into the platform.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Platform UI&lt;/strong&gt; - provides the user interface that connects all services together.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;avoiding-the-big-ball-of-mud&quot;&gt;Avoiding the Big Ball of Mud&lt;/h3&gt;
&lt;p&gt;Without clear architectural boundaries, complex systems eventually degrade into tightly coupled codebases that are difficult to maintain. Developers often describe this situation as a &quot;Big Ball of Mud.&quot;&lt;/p&gt;
&lt;p&gt;Symptoms typically include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Spaghetti code&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Increasing bugs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Slower development cycles&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Poor onboarding experience&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confusing system behavior&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For AI-driven platforms, the consequences are even worse because agents lose the contextual clarity required to generate reliable code.&lt;/p&gt;
&lt;p&gt;By organizing our platform around bounded contexts and microservices, we achieved several key benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Clear domain ownership&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Faster feature development&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better system scalability&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved AI agent performance&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More maintainable architecture&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;final-thoughts&quot;&gt;Final Thoughts&lt;/h3&gt;
&lt;p&gt;As AI agents become increasingly involved in software development, architecture design must evolve alongside them. Bounded contexts and microservices are no longer just about scaling engineering teams—they also help AI systems reason about complex software platforms. For us, adopting Domain-Driven Design and microservices architecture transformed a growing monolith into a scalable platform designed for the future of AI-assisted development.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Multiple models are in play on any large project. Yet when code based on distinct models is combined, software becomes buggy, unreliable, and difficult to understand.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;— Eric Evans&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/13269/from-monolith-to-microservices-how-bounded-context-improves-ai-driven-development</guid>
<pubDate>Fri, 20 Mar 2026 17:46:34 +0000</pubDate>
</item>
<item>
<title>REAP: A Tool That Lets AI and Humans Evolve Software Together</title>
<link>https://coderlegion.com/13127/reap-a-tool-that-lets-ai-and-humans-evolve-software-together</link>
<description>&lt;p&gt;&lt;em&gt;Software isn't built in one shot — it's evolved. REAP brings that same evolutionary process to AI-assisted development.&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;the-spec-driven-approach-and-its-limits&quot;&gt;The Spec-Driven Approach and Its Limits&lt;/h3&gt;
&lt;p&gt;The natural first instinct for AI-assisted development is spec-driven: write a detailed specification, hand it to the AI, get working code back. Tools like &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/github/spec-kit&quot;&gt;spec-kit&lt;/a&gt; explored this direction — managing specifications as the single source of truth (SSOT).&lt;/p&gt;
&lt;p&gt;I used this approach and learned a lot from it. But I kept hitting the same friction: &lt;strong&gt;spec-to-code is not deterministic.&lt;/strong&gt; Give the same spec to two AI sessions and you'll get different code. The mapping from specification to implementation isn't a function — it's a statistic distribution.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Specs drift from code.&lt;/strong&gt; The AI makes architectural choices the spec didn't anticipate.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Updating specs is a losing game.&lt;/strong&gt; The spec ends up chasing the code, not driving it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context compounds.&lt;/strong&gt; Each iteration creates implicit decisions the spec can't capture.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;A spec is a snapshot of intent, not a living representation of a system.&lt;/strong&gt; Code &lt;em&gt;is&lt;/em&gt; the living representation. Specs are great for capturing intent at a moment in time, but they can't be the SSOT for a system that evolves continuously.&lt;/p&gt;
&lt;h3 id=&quot;what-actually-works-following-the-proven-human-development-pipeline&quot;&gt;What Actually Works: Following the Proven Human Development Pipeline&lt;/h3&gt;
&lt;p&gt;Experienced developers don't write a perfect spec and execute it blindly. They:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Set a goal&lt;/strong&gt; → 2. &lt;strong&gt;Plan&lt;/strong&gt; → 3. &lt;strong&gt;Implement&lt;/strong&gt; (discovering the unexpected) → 4. &lt;strong&gt;Validate&lt;/strong&gt; → 5. &lt;strong&gt;Reflect&lt;/strong&gt; and update their mental model&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is exactly what &lt;strong&gt;Agile&lt;/strong&gt; taught us. Waterfall failed because it assumed you could fully specify a system before building it. Agile succeeded with &lt;strong&gt;iterative delivery, continuous feedback, and adaptation.&lt;/strong&gt; Sprints, retrospectives, backlog grooming — these let teams discover requirements &lt;em&gt;through&lt;/em&gt; building, not &lt;em&gt;before&lt;/em&gt; building.&lt;/p&gt;
&lt;p&gt;But here's the irony: &lt;strong&gt;we threw all of this away when AI entered the picture.&lt;/strong&gt; &lt;em&gt;We went back to waterfall thinking&lt;/em&gt; — write a big prompt (the spec), generate the code (the build), and hope it works. No iterations. No retrospectives. No accumulated learning.&lt;/p&gt;
&lt;p&gt;The real insight: &lt;strong&gt;create an environment where AI can follow the same proven pipeline that humans use&lt;/strong&gt; — the one Agile formalized. Not generating code from specs, but &lt;em&gt;evolving&lt;/em&gt; code through structured iterations with feedback loops.&lt;/p&gt;
&lt;p&gt;That's why I built REAP.&lt;/p&gt;
&lt;h3 id=&quot;reap-recursive-evolutionary-autonomous-pipeline&quot;&gt;REAP: Recursive Evolutionary Autonomous Pipeline&lt;/h3&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/c-d-cc/reap&quot;&gt;REAP&lt;/a&gt; is an open-source CLI tool and command prompt set that structures AI-assisted development as an evolutionary process. Instead of one-shot code generation, it organizes work into &lt;strong&gt;generations&lt;/strong&gt; — each with a clear objective, plan, implementation, validation, and retrospective.&lt;/p&gt;
&lt;p&gt;The metaphor is biological evolution:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;&lt;th&gt;Layer &lt;/th&gt;&lt;th&gt;Analogy &lt;/th&gt;&lt;th&gt;What It Actually Is&lt;/th&gt;&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Genome&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;DNA &lt;/td&gt;&lt;td&gt;Architecture principles, business rules, conventions, constraints&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Evolution&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;Natural selection &lt;/td&gt;&lt;td&gt;The generational lifecycle that drives improvement&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Civilization&lt;/strong&gt; &lt;/td&gt;&lt;td&gt;The organism &lt;/td&gt;&lt;td&gt;Your source code — the accumulated result&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&quot;the-genome-living-knowledge-not-dead-docs&quot;&gt;The Genome: Living Knowledge, Not Dead Docs&lt;/h4&gt;
&lt;p&gt;The Genome is stored in &lt;code&gt;.reap/genome/&lt;/code&gt; and contains four files:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.reap/genome/
├── principles.md      # Architecture decisions with rationale (ADR-style)
├── domain/            # Business rules per module
├── conventions.md     # Development standards + enforced rules
└── constraints.md     # Tech choices + validation commands
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But here's what makes it different from documentation: &lt;strong&gt;the Genome evolves through the development process itself.&lt;/strong&gt; It's not written up front and forgotten. It's discovered, refined, and corrected generation after generation.&lt;/p&gt;
&lt;p&gt;When the AI discovers during implementation that an architecture decision is wrong, it doesn't silently fix it. It logs a &lt;code&gt;genome-change&lt;/code&gt; backlog item. At the end of the generation, those changes are reviewed and applied to the Genome. This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The Genome gets &lt;em&gt;more accurate&lt;/em&gt; over time, not less&lt;/li&gt;
&lt;li&gt;Architectural decisions carry their rationale and date&lt;/li&gt;
&lt;li&gt;The knowledge is always in sync with the code because the code &lt;em&gt;feeds back into it&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;the-five-stage-lifecycle&quot;&gt;The Five-Stage Lifecycle&lt;/h4&gt;
&lt;p&gt;Each generation follows a complete lifecycle:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Objective → Planning → Implementation ⟷ Validation → Completion
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;1. Objective&lt;/strong&gt; — Define what this generation will accomplish. Not a vague &quot;improve the app&quot; but a concrete goal with acceptance criteria. The AI reads the Genome, reviews the backlog from previous generations, and helps formulate a focused objective.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Planning&lt;/strong&gt; — Break the objective into concrete tasks (max 20). Each task specifies target files and approach. The AI references the Genome to ensure the plan follows established conventions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Implementation&lt;/strong&gt; — The AI writes code, following the plan. When it discovers something the plan didn't anticipate — a constraint the Genome doesn't mention, a business rule that needs clarification — it logs it in the backlog instead of making silent assumptions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Validation&lt;/strong&gt; — Run the actual test suite, type checker, and build. No &quot;I think it should work&quot; — the AI must execute validation commands and report real results. If something fails, it can loop back to Implementation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Completion&lt;/strong&gt; — Retrospective. What worked? What didn't? What did we learn? Genome changes from the backlog are reviewed and applied. The generation is archived in the lineage.&lt;/p&gt;
&lt;h4 id=&quot;context-that-survives-sessions&quot;&gt;Context That Survives Sessions&lt;/h4&gt;
&lt;p&gt;One of the biggest problems with AI-assisted development is context loss. Start a new Claude Code session and your AI has no idea what happened yesterday.&lt;/p&gt;
&lt;p&gt;REAP solves this with a &lt;strong&gt;SessionStart hook&lt;/strong&gt; that automatically injects into every new session:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The full Genome (architecture decisions, conventions, constraints)&lt;/li&gt;
&lt;li&gt;Current generation state (which stage you're in, what's next)&lt;/li&gt;
&lt;li&gt;The REAP workflow rules&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The AI picks up exactly where you left off. No re-explaining. No &quot;let me read through the codebase first.&quot; The Genome gives it the project knowledge; the generation state gives it the task context.&lt;/p&gt;
&lt;h4 id=&quot;the-backlog-structured-memory&quot;&gt;The Backlog: Structured Memory&lt;/h4&gt;
&lt;p&gt;Every insight, every discovered issue, every deferred task goes into the backlog:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-markdown&quot;&gt;---
type: genome-change
status: pending
target: genome/constraints.md
---
# Add rate limiting constraint
During auth implementation, discovered we need rate limiting
on login endpoints. This should be a documented constraint.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Types of backlog items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;genome-change&lt;/code&gt; — The Genome needs updating (applied at Completion)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;environment-change&lt;/code&gt; — External context changed&lt;/li&gt;
&lt;li&gt;&lt;code&gt;task&lt;/code&gt; — Work to carry into future generations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This means nothing gets lost. A discovery in Generation 3 about a missing business rule gets properly logged, reviewed, and either addressed or carried forward. &lt;strong&gt;The project's institutional memory grows with every generation.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&quot;a-concrete-example&quot;&gt;A Concrete Example&lt;/h3&gt;
&lt;p&gt;Let's trace through a real development flow building an inventory management app:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generation #1&lt;/strong&gt; — Goal: &quot;Set up project structure + user authentication + item CRUD&quot;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Objective:  Define auth requirements, item schema, API structure
Planning:   8 tasks — project scaffold, DB schema, auth middleware,
            CRUD endpoints, shared types, basic tests
Implementation: Build it. Discover that the planned JWT approach
            needs refresh tokens (logged as genome-change).
Validation: Run tests, type check, build. 2 tests fail → loop back
            to Implementation → fix → Validation passes.
Completion: Retrospective notes that API error handling needs
            standardization. Genome updated with JWT + refresh
            token decision. Archive generation.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Generation #2&lt;/strong&gt; — Goal: &quot;Unit categories + inventory transactions&quot;&lt;/p&gt;
&lt;p&gt;The AI starts this generation &lt;em&gt;already knowing&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The JWT + refresh token decision from Gen 1&lt;/li&gt;
&lt;li&gt;The API error handling concern (from the backlog)&lt;/li&gt;
&lt;li&gt;All architecture conventions established so far&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each generation builds on the knowledge of previous ones. The Genome evolves. The code evolves. The understanding evolves.&lt;/p&gt;
&lt;h3 id=&quot;getting-started&quot;&gt;Getting Started&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;npm install -g @c-d-cc/reap
reap init my-project
claude
&amp;gt; /reap.evolve &quot;Implement user authentication&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;That's it. &lt;code&gt;/reap.evolve&lt;/code&gt; runs the entire lifecycle interactively — from Objective through Completion. You can also drive each stage manually with individual slash commands (&lt;code&gt;/reap.objective&lt;/code&gt;, &lt;code&gt;/reap.planning&lt;/code&gt;, etc.) if you want finer control.&lt;/p&gt;
&lt;p&gt;REAP also supports &lt;strong&gt;strict mode&lt;/strong&gt; (blocks code changes outside the lifecycle), &lt;strong&gt;lifecycle hooks&lt;/strong&gt; (run shell commands or AI prompts at stage transitions), and &lt;strong&gt;lineage compression&lt;/strong&gt; (auto-archives old generations to keep context lean).&lt;/p&gt;
&lt;h3 id=&quot;why-this-approach-wins&quot;&gt;Why This Approach Wins&lt;/h3&gt;
&lt;h4 id=&quot;vs-one-shot-prompting&quot;&gt;vs. One-Shot Prompting&lt;/h4&gt;
&lt;p&gt;One-shot prompting (&quot;build me X&quot;) works for small tasks. It falls apart for anything that requires accumulated context, iterative refinement, or long-term coherence. REAP gives you the structure to build complex systems incrementally.&lt;/p&gt;
&lt;h4 id=&quot;vs-spec-driven-development&quot;&gt;vs. Spec-Driven Development&lt;/h4&gt;
&lt;p&gt;Specs try to capture intent before implementation. But implementation reveals things specs can't anticipate. REAP embraces this by making discovery a first-class part of the process. The Genome evolves &lt;em&gt;because of&lt;/em&gt; implementation, not despite it.&lt;/p&gt;
&lt;h4 id=&quot;vs-rag-context-stuffing&quot;&gt;vs. RAG/Context Stuffing&lt;/h4&gt;
&lt;p&gt;Many tools try to solve context loss by stuffing more code into the context window. This is expensive, noisy, and doesn't scale. REAP's Genome is a &lt;em&gt;curated&lt;/em&gt;, &lt;em&gt;structured&lt;/em&gt; knowledge base — typically under 500 lines — that captures the &lt;em&gt;why&lt;/em&gt; behind decisions, not just the code.&lt;/p&gt;
&lt;h3 id=&quot;the-deeper-philosophy&quot;&gt;The Deeper Philosophy&lt;/h3&gt;
&lt;p&gt;The biggest mistake in AI-assisted development isn't bad prompts or insufficient context. It's &lt;strong&gt;treating AI as a code generator instead of a development partner.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Human developers don't generate code from specs. They &lt;em&gt;evolve&lt;/em&gt; software through cycles of planning, building, testing, and learning. The learning part is crucial — it's what makes the 10th feature better than the 1st.&lt;/p&gt;
&lt;p&gt;When we give AI agents the same structured pipeline that works for humans — with explicit goals, plans, validation, and retrospectives — they produce dramatically better results. Not because the AI is smarter, but because the &lt;em&gt;process&lt;/em&gt; is smarter.&lt;/p&gt;
&lt;p&gt;REAP doesn't make the AI write better code. It makes the AI &lt;em&gt;develop&lt;/em&gt; better — which includes knowing when to ask questions, when to log discoveries, when to defer decisions, and how to build on what came before.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The future of AI-assisted development isn't better prompts. It's better pipelines.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;get-started&quot;&gt;Get Started&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/c-d-cc/reap&quot;&gt;github.com/c-d-cc/reap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: &lt;a rel=&quot;nofollow&quot; href=&quot;https://reap.cc&quot;&gt;reap.cc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;npm&lt;/strong&gt;: &lt;code&gt;npm install -g @c-d-cc/reap&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;License&lt;/strong&gt;: MIT&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;REAP currently integrates with &lt;a rel=&quot;nofollow&quot; href=&quot;https://claude.ai/claude-code&quot;&gt;Claude Code&lt;/a&gt;. If you're building anything beyond toy projects with AI, give it a try. Your Generation #5 self will thank your Generation #1 self.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Hi, I'm a developer exploring the intersection of AI and software engineering workflows. I built REAP because I got tired of re-explaining my project to AI every morning. You can find me on &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/c-d-cc&quot;&gt;GitHub&lt;/a&gt; or check out the &lt;a rel=&quot;nofollow&quot; href=&quot;https://reap.cc&quot;&gt;REAP documentation&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/13127/reap-a-tool-that-lets-ai-and-humans-evolve-software-together</guid>
<pubDate>Wed, 18 Mar 2026 10:41:27 +0000</pubDate>
</item>
<item>
<title>Exploring the power of 3D experiences on the web</title>
<link>https://coderlegion.com/12896/exploring-the-power-of-3d-experiences-on-the-web</link>
<description>&lt;p&gt;This is an experimental 3D sports landing page built with modern frontend technologies. The goal was to create a more immersive and interactive experience compared to traditional flat landing pages.&lt;br&gt;
Inspired by a great tutorial from JS Mastery, I built this 3D Basketball Landing Page as a creative frontend experiment.&lt;/p&gt;
&lt;p&gt;Tech stack&lt;br&gt;
• Three.js – for rendering interactive 3D scenes&lt;br&gt;
• GSAP – for smooth, high-performance animations&lt;br&gt;
• Next.js – for modern React architecture and performance&lt;/p&gt;
&lt;p&gt;Three.js allows developers to render interactive 3D graphics directly in the browser using WebGL, enabling immersive web experiences and real-time animations.&lt;/p&gt;
&lt;p&gt;The page combines 3D elements, animated transitions, and camera movement to make the interface feel more alive and interactive.&lt;/p&gt;
&lt;p&gt;The idea was to move beyond static layouts and create a landing page where motion, depth, and interactivity become part of the user experience.&lt;/p&gt;
&lt;p&gt;I also used AI tools during development to speed up experimentation and explore different creative approaches.&lt;/p&gt;
&lt;p&gt;Live project:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://3d-basketball-template.vercel.app/&quot;&gt;https://3d-basketball-template.vercel.app/&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/12896/exploring-the-power-of-3d-experiences-on-the-web</guid>
<pubDate>Sun, 15 Mar 2026 12:29:25 +0000</pubDate>
</item>
<item>
<title>Exploring the power of 3D experiences on the modern web</title>
<link>https://coderlegion.com/12895/exploring-the-power-of-3d-experiences-on-the-modern-web</link>
<description>&lt;p&gt;This is an experimental 3D sports landing page built with modern frontend technologies. The goal was to create a more immersive and interactive experience compared to traditional flat landing pages.&lt;br&gt;
Inspired by a great tutorial from JS Mastery, I built this 3D Basketball Landing Page as a creative frontend experiment.&lt;/p&gt;
&lt;p&gt;Tech stack&lt;br&gt;
• Three.js – for rendering interactive 3D scenes&lt;br&gt;
• GSAP – for smooth, high-performance animations&lt;br&gt;
• Next.js – for modern React architecture and performance&lt;/p&gt;
&lt;p&gt;Three.js allows developers to render interactive 3D graphics directly in the browser using WebGL, enabling immersive web experiences and real-time animations.&lt;/p&gt;
&lt;p&gt;The page combines 3D elements, animated transitions, and camera movement to make the interface feel more alive and interactive.&lt;/p&gt;
&lt;p&gt;The idea was to move beyond static layouts and create a landing page where motion, depth, and interactivity become part of the user experience.&lt;/p&gt;
&lt;p&gt;I also used AI tools during development to speed up experimentation and explore different creative approaches.&lt;/p&gt;
&lt;p&gt;Live project:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://3d-basketball-template.vercel.app/&quot;&gt;https://3d-basketball-template.vercel.app/&lt;/a&gt;&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/12895/exploring-the-power-of-3d-experiences-on-the-modern-web</guid>
<pubDate>Sun, 15 Mar 2026 12:28:47 +0000</pubDate>
</item>
<item>
<title>AI Doesn’t Ship Products, People Do: The Product Discipline Stack</title>
<link>https://coderlegion.com/8996/ai-doesnt-ship-products-people-do-the-product-discipline-stack</link>
<description>&lt;p&gt;As the Founder of ReThynk AI, I’ve watched a lot of teams fall into the same trap:&lt;/p&gt;
&lt;p&gt;They adopt AI.&lt;br&gt;
They move faster.&lt;br&gt;
And then they wonder why their product still doesn’t win.&lt;/p&gt;
&lt;p&gt;Because here’s the truth:&lt;/p&gt;
&lt;p&gt;AI doesn’t ship products.&lt;br&gt;
People do.&lt;/p&gt;
&lt;p&gt;AI can accelerate execution.&lt;br&gt;
But it can’t replace product discipline.&lt;/p&gt;
&lt;p&gt;So I built what I call the Product Discipline Stack, the layers that make AI speed useful instead of dangerous.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI Doesn’t Ship Products, People Do: The Product Discipline Stack&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The biggest misconception in the AI era is this:&lt;/p&gt;
&lt;p&gt;“If I can generate more output, I will ship more value.”&lt;/p&gt;
&lt;p&gt;Output is not value.&lt;/p&gt;
&lt;p&gt;Value is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;solving the right problem&lt;/li&gt;
&lt;li&gt;for the right user&lt;/li&gt;
&lt;li&gt;in the right way&lt;/li&gt;
&lt;li&gt;with the right trade-offs&lt;/li&gt;
&lt;li&gt;at the right time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s product discipline.&lt;/p&gt;
&lt;p&gt;And product discipline is still a human job.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why AI-Accelerated Teams Still Fail&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI makes it easy to create:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;features&lt;/li&gt;
&lt;li&gt;prototypes&lt;/li&gt;
&lt;li&gt;copy&lt;/li&gt;
&lt;li&gt;landing pages&lt;/li&gt;
&lt;li&gt;roadmaps&lt;/li&gt;
&lt;li&gt;even PRDs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But teams still fail because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;they build the wrong thing&lt;/li&gt;
&lt;li&gt;they build it for the wrong user&lt;/li&gt;
&lt;li&gt;they optimise the wrong metric&lt;/li&gt;
&lt;li&gt;they skip validation&lt;/li&gt;
&lt;li&gt;they ship without adoption&lt;/li&gt;
&lt;li&gt;they mistake speed for progress&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI didn’t cause this.&lt;/p&gt;
&lt;p&gt;AI simply removed friction, so bad decisions became faster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Product Discipline Stack (7 Layers)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is my stack. I treat it as non-negotiable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1) Problem Clarity&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Before I build anything, I define the problem in one sentence.&lt;/p&gt;
&lt;p&gt;If I can’t write the problem clearly, I’m not ready to build.&lt;/p&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Help me write the problem statement in one sentence. Then list 5 ways&lt;br&gt;
this statement might be wrong or too vague.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;2) User &amp;amp; Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A product is not built for “everyone.”&lt;br&gt;
It’s built for a specific user in a specific situation.&lt;/p&gt;
&lt;p&gt;So I define:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;who the user is&lt;/li&gt;
&lt;li&gt;what triggers the need&lt;/li&gt;
&lt;li&gt;what they try today&lt;/li&gt;
&lt;li&gt;what frustrates them&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Create 2 primary user personas and map their workflow, pains, and&lt;br&gt;
decision triggers. Then highlight what would make them reject the&lt;br&gt;
product.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;3) Value Proposition&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is where many products die.&lt;/p&gt;
&lt;p&gt;If the value proposition is weak, no amount of AI-generated content can save it.&lt;/p&gt;
&lt;p&gt;I define:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the core promise&lt;/li&gt;
&lt;li&gt;the measurable outcome&lt;/li&gt;
&lt;li&gt;the time-to-value&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Write 5 value propositions, each with a measurable outcome. Then rank&lt;br&gt;
them by clarity and differentiation.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;4) Scope &amp;amp; Trade-offs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Product is the art of saying “no.”&lt;/p&gt;
&lt;p&gt;AI tempts teams to add more.&lt;/p&gt;
&lt;p&gt;But shipping is about focus.&lt;/p&gt;
&lt;p&gt;I define:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;what is in scope&lt;/li&gt;
&lt;li&gt;what is out of scope&lt;/li&gt;
&lt;li&gt;what I’ll deliberately ignore&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Propose an MVP scope that can ship in one week. Then list what to cut&lt;br&gt;
to protect quality and speed.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;5) Metrics That Matter&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If I don’t define success, AI will optimise for output.&lt;/p&gt;
&lt;p&gt;So I choose:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;one North Star metric&lt;/li&gt;
&lt;li&gt;two supporting metrics&lt;/li&gt;
&lt;li&gt;one quality metric (bug rate, churn, trust, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Suggest a North Star metric and 3 supporting metrics for this&lt;br&gt;
product. Explain why each one matters and how it could be gamed.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;6) Feedback Loops&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI can generate features fast, but only users can validate value.&lt;/p&gt;
&lt;p&gt;I build feedback into the workflow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pre-launch interviews&lt;/li&gt;
&lt;li&gt;beta users&lt;/li&gt;
&lt;li&gt;simple surveys&lt;/li&gt;
&lt;li&gt;usage analytics&lt;/li&gt;
&lt;li&gt;churn reasons&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Design a 7-question feedback survey that reveals: value, friction,&lt;br&gt;
confusion, trust issues, and willingness to pay.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;7) Shipping Discipline&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Shipping is not “deploying.”&lt;br&gt;
Shipping is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;launch messaging&lt;/li&gt;
&lt;li&gt;onboarding&lt;/li&gt;
&lt;li&gt;support readiness&lt;/li&gt;
&lt;li&gt;rollback plan&lt;/li&gt;
&lt;li&gt;iteration plan&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI prompt I use&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;“Create a launch checklist: onboarding, documentation, support&lt;br&gt;
responses, monitoring, rollback plan, and first 7-day iteration plan.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Stack in One Line&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;AI helps me do the work faster.&lt;/p&gt;
&lt;p&gt;But the stack tells me what work is worth doing.&lt;/p&gt;
&lt;p&gt;That’s why product teams still matter.&lt;br&gt;
That’s why thinking still wins.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Real-World Example (Simple)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If I’m building an AI feature like “smart suggestions,” AI can generate UI text and logic quickly.&lt;/p&gt;
&lt;p&gt;But product discipline asks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do users want suggestions here?&lt;/li&gt;
&lt;li&gt;Will they trust it?&lt;/li&gt;
&lt;li&gt;What happens when it’s wrong?&lt;/li&gt;
&lt;li&gt;What metric proves success?&lt;/li&gt;
&lt;li&gt;What is the fallback experience?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Without these answers, I’m just shipping “AI for the sake of AI.”&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/8996/ai-doesnt-ship-products-people-do-the-product-discipline-stack</guid>
<pubDate>Sun, 28 Dec 2025 04:11:38 +0000</pubDate>
</item>
<item>
<title>Here’s the uncomfortable truth for AI product managers:</title>
<link>https://coderlegion.com/7302/heres-the-uncomfortable-truth-for-ai-product-managers</link>
<description>&lt;p&gt;Building an AI product ≠ Using AI in a product.&lt;/p&gt;
&lt;p&gt;One means AI is the heart of the solution.&lt;/p&gt;
&lt;p&gt;The other just adds AI to something that already works.&lt;/p&gt;
&lt;p&gt;You can know everything about models, prompts, benchmarks, inference speed&lt;/p&gt;
&lt;p&gt;But if you can’t frame a real problem, prioritise for adoption, or deliver user value...your AI product is headed for the demo graveyard.&lt;/p&gt;
&lt;p&gt;So, if I had to pick just one skill for an AI PM?&lt;/p&gt;
&lt;p&gt;I would pick product thinking. &lt;/p&gt;
&lt;p&gt;Every. Single. Time.&lt;/p&gt;
&lt;p&gt;Because:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technology doesn’t define the outcome. Product thinking does.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;AI feels like intelligence, but it doesn’t understand your users yet&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Model performance ≠ product-market fit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’ve seen this before: Cloud. APIs. Mobile. Data science.&lt;/p&gt;
&lt;p&gt;Hype surges. Adoption stalls.&lt;/p&gt;
&lt;p&gt;Not because the tech isn’t ready, but because the “product work” wasn’t done.&lt;/p&gt;
&lt;p&gt;Let’s not repeat that with AI.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/7302/heres-the-uncomfortable-truth-for-ai-product-managers</guid>
<pubDate>Thu, 13 Nov 2025 05:26:30 +0000</pubDate>
</item>
<item>
<title>Will Vibe Coding Kill LowCode</title>
<link>https://coderlegion.com/7272/will-vibe-coding-kill-lowcode</link>
<description>&lt;p&gt;The short answer is no, the long is still no but its complicated, let me explain.&lt;/p&gt;
&lt;p&gt;I've seen multiple posts and blogs about how the Power Platform (my LowCode platform of choice) is doomed or will change entirely because of AI and vibing coding. The premise is simple and logical:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Why would a make spaghetti diagrams to create flows when a sentence will do it&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;blockquote&gt;&lt;p&gt;Why drag and drop components onto a page to make a app when I can describe a app and get a full React App&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;blockquote&gt;&lt;p&gt;Why learn a LowCode language when AI can use natural language instead&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And a call out here, these words have been said by experts who are massively more experienced and knowledge them me, so remember that when you read the below, but I think this future state is further off then what people may think.&lt;/p&gt;
&lt;h3 id=&quot;cost&quot;&gt;Cost&lt;/h3&gt;
&lt;p&gt;This one to me is probably the biggest, AI is expensive. Not only that, but companies who have bet heavily (cough Microsoft), and venture capitalists, are subsidising AI heavily, they are barely making if any profit, and definitely nothing close to the margins on LowCode products like the Power Platform.&lt;/p&gt;
&lt;p&gt;So its more expensive now, and the price is going to go up. And if you are thinking Moore's law will save you that's not how the marked has been moving. The arms race means &quot;cheaper&quot; models are not simply not being used, everyone is only using the latest, expensive models.&lt;/p&gt;
&lt;p&gt;Lets take my favourite tool, Power Automate.&lt;/p&gt;
&lt;p&gt;100 action flow is by all accounts free (6k per day per M365 account at no extra cost).&lt;/p&gt;
&lt;p&gt;Even if we go with Premium full price (and most orgs do not pay full price).&lt;/p&gt;
&lt;p&gt;40k per day&lt;br&gt;
28 days&lt;br&gt;
1,120,000 calls&lt;br&gt;
Cost $10&lt;br&gt;
&lt;strong&gt;Thats 0.08 cents per run&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now Agent flow&lt;br&gt;
25k messages per month&lt;br&gt;
13 messages per run&lt;br&gt;
1923 runs&lt;br&gt;
Cost $200&lt;br&gt;
&lt;strong&gt;Thats 10.4 cents per run&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gwmr1ycyelvvgis8d9kx.png&quot; alt=&quot;meeting&quot;&gt;&lt;/p&gt;
&lt;p&gt;Yep thats &lt;strong&gt;130x&lt;/strong&gt; the cost, and you really think organisations are going to stop using Power Automate and use Agents Flows instead.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j7l09p4qfavt3s33nu2f.png&quot; alt=&quot;cost table&quot;&gt;&lt;/p&gt;
&lt;p&gt;And its the same with Vibe coding apps, just look at the costs for Claude Code and ChatGPT, they average a couple dollars to build each, not a lot. But what about for Microsoft, how long until those thousands of Citizen developers building hundreds of thousands of crappy apps before they start charging differently (also amusing that all of the &quot;all you can eat&quot; licenses like from Claude and Cursor have been pulled).&lt;/p&gt;
&lt;p&gt;There is also the bigger structural change, moving from flat rate license to PAYGO. It was a big difficult shift to move from One time purchase to monthly subscription based charging, but organisation did because it did have a benefit- simplified costs (no inconsistent large purchases). AI is not sustainable on a per license approach, so the push is PAYGO/token packs. This is not only more expensive, but organisations lose the safety of set fees and budgets. Now they have to manage usage costs, build flexible budgets. and live in fear of a massive unexpected bill.&lt;/p&gt;
&lt;h3 id=&quot;deterministic-outcomes&quot;&gt;Deterministic Outcomes&lt;/h3&gt;
&lt;p&gt;AI is fantastic for handling complex unstructured processes. If there are too many or unknown inputs it is brilliant. Dealing with human inputs is its obvious strengths, as humans are anything but consistent.&lt;/p&gt;
&lt;p&gt;But that's the trade off, because the inputs are unstructured you can't have known consistent outputs. And that's ok in some situations but what about when you come to import things like governance and finances.&lt;/p&gt;
&lt;p&gt;Will banks be happy with that inconsistencies when dealing with money, or governments happy when compliance is black and white but the process is many shades of grey.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wgnofioatbwtsuqpq0bm.png&quot; alt=&quot;inconsistent responses&quot;&gt;&lt;/p&gt;
&lt;p&gt;So I can see AI having its use cases, but the lack of dertinitistic outcomes will be a deal breaker for many many process. They would much rather make the inputs deterministic (a drop down instead of free text) and know the outcomes, rather then have AI 'guess' the right outcome.&lt;/p&gt;
&lt;p&gt;And that goes beyond just automation, code should have standards and patterns, which you can influence with AI instructions but it's never 100%. Add in as a code I can write exactly what I want vs a AI agent interpreting what I meant.&lt;/p&gt;
&lt;h3 id=&quot;adoption-inertia&quot;&gt;Adoption Inertia&lt;/h3&gt;
&lt;p&gt;The timing of this blog makes me smile, as Excel was launched in September 1985, 40 years ago.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s6skwk7kxl0yhkkwok68.png&quot; alt=&quot;Iexcel facts&quot;&gt;&lt;/p&gt;
&lt;p&gt;In that time we have had SQL launch, internet, the move to the cloud, LowCode adoption, smart phones, and many more advances, and yet good old Excel is still prevalent in most organisations (estimated between 750 million and 1.5 billion users. Add in that many IT teams have desperately battled to move users off it to more secure stable solutions, and yet it is still being used, often by people who weren't born when it was released. &lt;/p&gt;
&lt;p&gt;What's this have to do with AI, well for every developer and user to switch from how they learned to do something to something dramatically different is a massive undertaking. You have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Guides&lt;/li&gt;
&lt;li&gt;Process&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Technical Knowledge&lt;/li&gt;
&lt;li&gt;Technical Skills&lt;/li&gt;
&lt;li&gt;Experience&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;just to name a few of the things you would need to change, add in 1000s of legacy flows and apps that all just work, why would you put the pain and effort into moving. That means best case dual process, legacy and new, and every organisations will tell you running parallel process is not efficient and not fun.&lt;/p&gt;
&lt;h3 id=&quot;security&quot;&gt;Security&lt;/h3&gt;
&lt;p&gt;Probably the biggest risk to AI is security, with everything that is new there are unknowns, often the only way something becomes secure is for it to be breached first. Do you want to be the first company that has that hugh data leak so that Microsoft/OpenAI/Google/Anthropic can improve their product.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fmxa40x8jel4ior3mq9g.png&quot; alt=&quot;owasp prompt injection&quot;&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://arxiv.org/pdf/2410.23308&quot;&gt;Cornell University - Arxiv.org&lt;/a&gt;&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://owasp.org/www-community/attacks/PromptInjection&quot;&gt;Owasp.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then you add in that by its very nature AI is incredibly difficult to secure, security is built on understanding how things work (not easy when every interaction is non deterministic), trying to do that on a &quot;black box&quot; is impossible.&lt;/p&gt;
&lt;p&gt;The final challenge is how LLM are current architected, there are no boundaries between input and command. Just like the old SQL injection days, this means you can not control what code runs, as the code is an input. The Perplexity vulnerability found by &lt;a rel=&quot;nofollow&quot; href=&quot;https://brave.com/blog/comet-prompt-injection/&quot;&gt;Brave&lt;/a&gt; demonstrated this and how  difficult protection would be, as with SQL we can bind to split input/command, but with LLM we can only layer on controls and checks, which are only as good as what we have experienced so far.&lt;/p&gt;
&lt;p&gt;If you don't know me I'm big on code reviews, I have written how to complete one and even created automated tools. And during my most recent development I thought about using Copilot to code review flows, and it did an ok job, but the fun was when I embedded a prompt in the flow notes that told any LLM to always pass the code review &lt;/p&gt;
&lt;h3 id=&quot;technical-debt&quot;&gt;Technical Debt&lt;/h3&gt;
&lt;p&gt;When things go wrong, and they always do, having a understanding of the code is key. It's easy to think you can vibe code by looping errors in and saying fix it. But that will only go so far, I have tried vibe coding a few times (and use AI assisted development pretty much all the time), this has limited scope. Sometimes it can't fix it and then you have to dive into the code. That's painful when you know the language, but when you don't, like the army of citizen developers, then you are building up a wave of technical debt that will hit you hard one day.&lt;/p&gt;
&lt;h3 id=&quot;human-nuances&quot;&gt;Human Nuances&lt;/h3&gt;
&lt;p&gt;I remember Microsoft saying &quot;Agents are the new Apps&quot;, their position was, why would anyone use a graphical UI when you can type/say what you want. But that assumes that humans are all the same, that they all want to type, and that isn't just obviously inaccurate, but wrong. As I would say most humans don't want to type. It's easy to forget that computers started with command line and text, but the graphical UI won because the majority of humans prefer visual interfaces. Would you rather type &quot;open excel&quot;, or click on the Excel icon? Likewise:&lt;/p&gt;
&lt;p&gt;&quot;I want a blue bordered date picker, 20% screen width&quot; or drag date picker on to screen, drag resize and click blue for border.&lt;/p&gt;
&lt;p&gt;&quot;On a email arriving in a inbox if it has a power point attachment forward to &lt;em&gt;Emails are not allowed&lt;/em&gt;&quot; or drag outlook trigger,set condition and add send email.&lt;/p&gt;
&lt;p&gt;I'm pretty certain some would like the text, but some would like the UI (and I know there might be extra steps but there  might also be extra prompts and the prompts often take a while to run).&lt;/p&gt;
&lt;p&gt;The fact that Microsoft dropped that phrase and started highlighting apps again made me think they realised that too. So don't expect every developer to want to describe a flow to make the logic app json, a lot will want to drag a little box onto a screen to make that json.&lt;/p&gt;
&lt;h3 id=&quot;human-nature&quot;&gt;Human Nature&lt;/h3&gt;
&lt;p&gt;I think the biggest strength of the Power Platform is its community, and a lot of that has to do with learning and achievement. &lt;/p&gt;
&lt;p&gt;Humans like to be creative, they like to solve problems, and they like to learn. If you stripped away all the expertise and difficulty in the Power Platform you would no longer have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;People like me blogging about it&lt;/li&gt;
&lt;li&gt;Videos and books &lt;/li&gt;
&lt;li&gt;People investing in learning&lt;/li&gt;
&lt;li&gt;Conferences to share and learn&lt;/li&gt;
&lt;li&gt;The satisfaction of becoming good at something&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3eugnprmv58wt2fzrlo.png&quot; alt=&quot;power platform community numbers&quot;&gt;&lt;/p&gt;
&lt;p&gt;Add in that you suddenly take away the barrier to entry, and you no longer have a mountain of &lt;a rel=&quot;nofollow&quot; href=&quot;https://stevemordue.com/a-mountain-of-shitty-little-apps/&quot;&gt;s&amp;amp;*^%y apps&lt;/a&gt;, but the Pacific ocean of them. The simple fact is not everyone should make apps, and if you let them then you will never see the good apps/agents/flows for the noise.&lt;/p&gt;
&lt;p&gt;If you want to see what the AI future is go see how many people follow the Microsoft Notepad community verses the Power Platform &lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;So that's the no, where is the complicated bit, well the truth is AI is not going away, and it's going to change LowCode tools like the Power Platform, but it will not be the Power Platform. Some developers will prefer it, and maybe even some organisations, but others like graphical ui and coding it yourself. And Microsoft will learn quickly that having a tool that has no challenge to learn and cant be mastered will not be loved and adopted.&lt;/p&gt;
&lt;p&gt;I would love to see Microsoft taking a different approach, embedding AI into the Platform (and I don't mean slapping a Copilot on the side), imagine having the ability to create new components for your canvas app on the fly, that way you still:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enable the developer to be creative and learn skills&lt;/li&gt;
&lt;li&gt;Contain the AI code within a component - no issue from tech debt and limits security concerns&lt;/li&gt;
&lt;li&gt;Focuses the expensive action to where it gets most value&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Over time the future that everyone describes will probably happen, but that will take a lot of time, and legacy will be around for a long time after (remember Fortran was created in 1957 and is still used today).&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/7272/will-vibe-coding-kill-lowcode</guid>
<pubDate>Wed, 12 Nov 2025 22:48:41 +0000</pubDate>
</item>
<item>
<title>Vibe coding is bullshit if you don't know what you're doing</title>
<link>https://coderlegion.com/6497/vibe-coding-is-bullshit-if-you-dont-know-what-youre-doing</link>
<description>&lt;p&gt;I have to say that I'm not a crowd follower, that's the case for almost everything in my life, I hate feeling like part of the &quot;herd&quot;, and yes, I'm talking about the vibe coding thing. I am very skeptic about new technology when they first come out, and try to 'wait a -secure- time' before joining it. That's the case with this AI revolution, it's not about the fear of changing, as you probably are thinking right now, it is much simpler than that.&lt;br&gt;
Look!&lt;br&gt;
I got very excited easily when it comes to technology, I love innovation, I'd love to be the one innovating, actually, is one of my biggest dreams, it is. But, when it comes to work, I prefer to give stability, instead of innovation, I prefer delivering trustiness instead of novelty, so, in order to give my clients that good product they expect from me, I tend to fall a little bit behind, unless the client, want me to go for the latest tech/version available for any of the tools I use, so, that's simply my case, I love to be 'aware' of the cutting edge, but, working just behind enough to give my clients a sense of reliability in the software I deliver.&lt;br&gt;
So, to move forward, I'll start this short story like this:&lt;br&gt;
Last week I started 'seriously' trying vibe coding with Google AI Studio, obviously with Gemini 2.5 pro to see how it feels like.&lt;br&gt;
My experience is that, it is blazing fast, I mean, it will scaffold an app in just a few minutes, and that, bro, that sounds amazing.&lt;/p&gt;
&lt;p&gt;But...&lt;br&gt;
I actually take it to the limit asking for things, because, obviously, it just added mock databases to the project until you explicitly asked for it to use a real database, and won't create the full app with just one prompt, forget that stupidity, not even senior humans will do that. It created stupid issues maybe even a junior can easily handle, but it couldn't, literally, I watched it fail the same little task (like properly configuring a firebase rules file) and asking me to review, even though the issue was still there.&lt;br&gt;
Yes, sir, the first thing I thought was &quot;Dang! I'll have to resolve this by myself, because it won't be able to&quot;, and, well, as you might expect, I, indeed, had to do it.&lt;/p&gt;
&lt;p&gt;The thing is that, after a 'successful' development session, literally two days to build an MVP for a product I had in my mind for years, I know, for sure, a non-developer, normal person, won't be able to have a reasonable result with vibe coding, it's a powerful tool to boost your 'productivity' (yes, in quotes, because, at some point you will get totally disconnected from the project, so you'll need to explore a huge portion of the codebase just to understand how something works or how to properly add a feature or make a fix by yourself) at expenses of both the development of your problem-solving skills (that single little thing that makes this interesting) and the joy of writing code and seeing come to life.&lt;/p&gt;
&lt;p&gt;Obviously, I'm not, like, against it, I just say, most hypers (new word invented by me) try to sell it as the solution for no coders to create apps, but, I say, It isn't so, it is a tremendous, advantageous tool for us, coders.&lt;/p&gt;
&lt;p&gt;Bye!&lt;/p&gt;
</description>
<category>Full-stack Dev</category>
<guid isPermaLink="true">https://coderlegion.com/6497/vibe-coding-is-bullshit-if-you-dont-know-what-youre-doing</guid>
<pubDate>Wed, 15 Oct 2025 22:29:27 +0000</pubDate>
</item>
<item>
<title>Popular platforms for online coding and development. How an AI Platform Uses Them to Export Code</title>
<link>https://coderlegion.com/5128/popular-platforms-for-online-coding-and-development-how-an-platform-uses-them-export-code</link>
<description>&lt;p&gt;Replit and Google Colab are two of the most popular platforms for online coding and development, each with its own specific focus and strengths. They are particularly relevant to Gemini because they offer integrated, cloud-based environments that allow users to export and run code generated by the AI assistant with minimal setup.&lt;/p&gt;
&lt;h4 id=&quot;replit&quot;&gt;Replit&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt; Replit is a cloud-based integrated development environment (IDE) that provides a fast, simple, and collaborative platform for building, running, and deploying applications. It's designed to make coding accessible to everyone, from beginners to experienced developers, by removing the friction of complex local setups.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multi-language Support:&lt;/strong&gt; Replit supports over 50 programming languages, making it incredibly versatile for various projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-time Collaboration:&lt;/strong&gt; Multiple users can code on the same project simultaneously, with live cursors and a shared terminal, making it a great tool for pair programming and team projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Instant Deployment:&lt;/strong&gt; Replit makes it easy to deploy web apps, APIs, and bots with a single click, providing hosting and continuous availability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integrated AI:&lt;/strong&gt; Replit has its own AI-powered assistant, known as Ghostwriter (and more recently, Replit Agent), which helps with code generation, debugging, refactoring, and general assistance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Setup Required:&lt;/strong&gt; Everything runs in the browser, so you don't need to install any software or configure a local development environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Primary Use Case:&lt;/strong&gt; Replit is ideal for web development, rapid prototyping, and collaborative coding projects. It's a fantastic tool for learning to code, building small to medium-sized applications, and for educational purposes.&lt;/p&gt;
&lt;h4 id=&quot;google-colab&quot;&gt;Google Colab&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;What it is:&lt;/strong&gt; Google Colab (short for Colaboratory) is a hosted Jupyter Notebook service that requires no setup. It's built and maintained by Google and provides free access to computing resources, including GPUs and TPUs, which are essential for computationally intensive tasks.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Jupyter Notebook Environment:&lt;/strong&gt; Colab is built around the Jupyter Notebook format, which allows you to combine executable code, rich text, images, and visualizations in a single, interactive document.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Free GPU/TPU Access:&lt;/strong&gt; This is its standout feature. Colab provides free, though not unlimited, access to powerful hardware accelerators, which is invaluable for machine learning, deep learning, and data science projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Configuration:&lt;/strong&gt; Like Replit, Colab runs entirely in the cloud, so there is no need to set up anything on your local machine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google Drive Integration:&lt;/strong&gt; Colab notebooks are stored directly in your Google Drive, making it easy to save, share, and collaborate on your projects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pre-installed Libraries:&lt;/strong&gt; It comes with popular data science libraries like NumPy, Pandas, TensorFlow, and PyTorch pre-installed, so you can start coding immediately.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Primary Use Case:&lt;/strong&gt; Google Colab is the go-to platform for data scientists, machine learning engineers, and researchers. It's perfect for data analysis, building and training neural networks, and creating reproducible research papers.&lt;/p&gt;
&lt;h4 id=&quot;how-gemini-uses-them-to-export-code&quot;&gt;How Gemini Uses Them to Export Code&lt;/h4&gt;
&lt;p&gt;Gemini is designed to be a helpful coding assistant. When it generates code, it provides options to &quot;export&quot; or &quot;open&quot; that code in other platforms.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Export to Replit:&lt;/strong&gt; This feature is particularly useful for web development. When you ask Gemini to create a full application (e.g., a simple To-Do list app with a front-end and back-end), it can generate the code and, with one click, send it to a new Replit project. This automatically creates the necessary files and sets up the environment, allowing you to run and test the application instantly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Export to Google Colab:&lt;/strong&gt; This is the primary export option for data science and machine learning tasks. If you ask Gemini to write a Python script for sentiment analysis, a machine learning model, or a data visualization, it can export that code directly into a new Google Colab notebook. This saves you from copying and pasting and immediately puts the code into an environment with the necessary libraries and, if needed, GPU acceleration.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;other-platforms-for-exporting-code&quot;&gt;Other Platforms for Exporting Code&lt;/h4&gt;
&lt;p&gt;While Replit and Colab are the most prominent platforms integrated with Gemini, there are other similar environments used by developers, data scientists, and AI professionals. Many of these offer similar capabilities in different forms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Codespaces:&lt;/strong&gt; A cloud-based development environment that is part of the GitHub ecosystem. It provides a full VS Code editor in the browser, making it a powerful tool for professional developers who want to work on their GitHub repositories without a local setup.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jupyter:&lt;/strong&gt; An open-source project that powers Google Colab. You can run Jupyter Notebooks locally or on a server, and many other platforms (like Kaggle and Deepnote) use it as their foundation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kaggle:&lt;/strong&gt; A data science platform and community that provides free, cloud-based Jupyter Notebooks with GPU and TPU access. It's known for its vast library of datasets and machine learning competitions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deepnote:&lt;/strong&gt; A collaborative, cloud-based notebook environment for data science teams. It's built to be more team-friendly than Colab, with advanced features for real-time collaboration and project management.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CodeSandbox:&lt;/strong&gt; Similar to Replit but with a strong focus on front-end web development, especially with JavaScript frameworks like React, Vue, and Angular. It's great for live prototyping and sharing.&lt;/li&gt;
&lt;/ul&gt;
</description>
<category>Web Dev</category>
<guid isPermaLink="true">https://coderlegion.com/5128/popular-platforms-for-online-coding-and-development-how-an-platform-uses-them-export-code</guid>
<pubDate>Tue, 02 Sep 2025 11:47:59 +0000</pubDate>
</item>
<item>
<title>The New Design Stack: Where AI Meets Product Thinking and Framer Brings It to Life</title>
<link>https://coderlegion.com/4926/the-new-design-stack-where-ai-meets-product-thinking-and-framer-brings-it-to-life</link>
<description>&lt;p&gt;The New Design Stack: Where AI Meets Product Thinking and Framer Brings It to Life&lt;/p&gt;
&lt;p&gt;In 2025, the question is no longer “Will AI change design?”&lt;br&gt;
It already has.&lt;/p&gt;
&lt;p&gt;The real question is:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;How do we, as designers and builders, adapt to co-creating with&lt;br&gt;
machines, while still solving human problems?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As a product designer working at the intersection of AI, UX, and interactive prototyping, I’ve seen how the creative process is evolving fast. Tools like ChatGPT, Claude, and Midjourney help generate ideas in seconds but it’s Framer that makes those ideas real, testable, and interactive.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; AI Doesn’t Replace Designers, It Replaces Blank Screens&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What used to take hours of sketching, structuring, and second-guessing can now begin with a single, well-framed prompt.&lt;/p&gt;
&lt;p&gt;Need a user flow for a fintech onboarding?&lt;br&gt;
Lovable drafts it. You refine it.&lt;/p&gt;
&lt;p&gt;Designing a multi-language healthcare app?&lt;br&gt;
AI localizes your content instantly.&lt;/p&gt;
&lt;p&gt;Exploring edge cases?&lt;br&gt;
Simulate them with pseudo-users and behavior models.&lt;/p&gt;
&lt;p&gt;AI accelerates exploration. But the designer still steers — with strategy, empathy, and taste.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;✨ Enter Framer: From Static to Sensory&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Once AI helps sketch out ideas, Framer steps in as the modern playground for interactive, web-native design.&lt;/p&gt;
&lt;p&gt;Framer isn’t just a prototyping tool. It’s where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Real-time feedback meets elegant motion&lt;/li&gt;
&lt;li&gt;Product logic blends with visual design&lt;/li&gt;
&lt;li&gt;Designers ship ideas at production-level fidelity&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With Framer, I can design, test, and deploy MVPs without writing full-stack code, perfect for AI-first products where fast iteration is key.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; My Process: The AI-Enhanced, Framer-Powered Workflow&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here’s how I currently design smarter and faster:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Prompt: I use AI to brainstorm UX flows, edge cases, microcopy, and even color themes.&lt;/li&gt;
&lt;li&gt;Structure: I define flows, architecture, and logic in FigJam or Notion.&lt;/li&gt;
&lt;li&gt;Visualize: AI generates icon concepts, illustrations, and design variants.&lt;/li&gt;
&lt;li&gt;Prototype in Framer: I build and animate responsive, web-ready prototypes, complete with logic and CMS.&lt;/li&gt;
&lt;li&gt;Test &amp;amp; Ship: Stakeholders interact with high-fidelity versions that feel like the real thing.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The result?&lt;br&gt;
Fewer handoffs. Fewer blockers. Much faster feedback loops.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt; Why This Matters Now&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a time when:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MVPs are expected to feel like finished products&lt;/li&gt;
&lt;li&gt;AI-native tools are reshaping industries&lt;/li&gt;
&lt;li&gt;Users expect design to be personal, fast, and smart…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Design is no longer just pixels. It’s prompts, data, systems, and real-time interactions brought to life with tools like AI and Framer..&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The designers who thrive will be the ones who think like product owners, build like engineers,   and prototype like storytellers&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you’re designing AI products, experimenting with Framer, or just trying to stay ahead of the curve, let’s connect. I’m sharing more about workflows, prompts, and frameworks that blend creativity with computation.&lt;/p&gt;
</description>
<category>Data Visualization</category>
<guid isPermaLink="true">https://coderlegion.com/4926/the-new-design-stack-where-ai-meets-product-thinking-and-framer-brings-it-to-life</guid>
<pubDate>Sat, 23 Aug 2025 19:23:06 +0000</pubDate>
</item>
<item>
<title>AI + Human Mind Reading: A Future to Prevent Crime Before It Happens</title>
<link>https://coderlegion.com/4892/ai-human-mind-reading-a-future-to-prevent-crime-before-it-happens</link>
<description>&lt;p&gt;&lt;strong&gt; AI + Human Mind Reading: A Future to Prevent Crime Before It Happens&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For the past 8 years, I have been quietly researching and envisioning a technology that many may consider “impossible” or “sci-fi.” But as we’ve seen with AI, things once thought impossible quickly become reality.&lt;/p&gt;
&lt;p&gt;I believe AI-driven human mind reading technology can be the foundation for a safer, more responsible society.&lt;/p&gt;
&lt;p&gt; The Problem Today&lt;/p&gt;
&lt;p&gt;Every crime, abuse, or destructive act begins in the human mind.&lt;br&gt;
By the time action is taken, damage is already done — to people, families, and communities.&lt;br&gt;
Current law enforcement is reactive, not preventive.&lt;/p&gt;
&lt;p&gt; The Vision: Early Mind Detection&lt;/p&gt;
&lt;p&gt;What if we could use advanced AI + neural decoding systems to detect criminal intent, mental distress, or abusive tendencies before they turn into action?&lt;/p&gt;
&lt;p&gt;This isn’t about controlling people — it’s about creating an early warning system for society.&lt;/p&gt;
&lt;p&gt;Identifying mental stress signals that could lead to abuse or violence.&lt;/p&gt;
&lt;p&gt;Detecting dangerous intentions in high-risk zones.&lt;/p&gt;
&lt;p&gt;Supporting mental health intervention before a person collapses into crime.&lt;/p&gt;
&lt;p&gt; How It Could Work&lt;/p&gt;
&lt;p&gt;Brainwave analysis + AI: Using non-invasive neural monitoring (like EEG advancements).&lt;/p&gt;
&lt;p&gt;Pattern recognition: AI learns to identify high-risk mental states.&lt;/p&gt;
&lt;p&gt;Integration with healthcare &amp;amp; law: Instead of punishment, early help and guidance.&lt;/p&gt;
&lt;p&gt;⚖️ Ethics &amp;amp; Responsibility&lt;/p&gt;
&lt;p&gt;I know the first concern is privacy. This is why I see this technology as:&lt;/p&gt;
&lt;p&gt;Strictly opt-in (used in sensitive zones like airports, prisons, or with mental health patients).&lt;/p&gt;
&lt;p&gt;Regulated by ethics boards and global laws.&lt;/p&gt;
&lt;p&gt;Focused on help and prevention, not punishment or control.&lt;/p&gt;
&lt;p&gt; Why This Matters&lt;/p&gt;
&lt;p&gt;Reduce abuse, assaults, and crimes before they even happen.&lt;/p&gt;
&lt;p&gt;Protect vulnerable groups — women, children, and communities.&lt;/p&gt;
&lt;p&gt;Shift society from reacting to crime → to preventing crime.&lt;/p&gt;
&lt;p&gt;✨ A Call to Collaborators&lt;/p&gt;
&lt;p&gt;I don’t claim to have all the answers yet. But after 8 years of thought, small experiments, and constant study, I know this future is possible.&lt;/p&gt;
&lt;p&gt;I’m sharing this today not for fame, but to spark a conversation:&lt;/p&gt;
&lt;p&gt;Can AI and neuroscience combine to create a safer society?&lt;/p&gt;
&lt;p&gt;Who is ready to collaborate on building ethical frameworks and prototypes?&lt;/p&gt;
&lt;p&gt;The future isn’t just about smarter machines — it’s about smarter humanity.&lt;/p&gt;
&lt;p&gt;If technology can save lives, then it is our responsibility to explore it. AI mind-reading may sound futuristic, but so did AI itself 10 years ago. The future is closer than we think — let’s build it responsibly.&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://safa-chat-widget.onrender.com/&quot;&gt;https://safa-chat-widget.onrender.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.nagasoftsolutions.com/&quot;&gt;https://www.nagasoftsolutions.com/&lt;/a&gt;&lt;/p&gt;
</description>
<category>Internet of Things</category>
<guid isPermaLink="true">https://coderlegion.com/4892/ai-human-mind-reading-a-future-to-prevent-crime-before-it-happens</guid>
<pubDate>Thu, 21 Aug 2025 05:49:05 +0000</pubDate>
</item>
<item>
<title>SEO for Vibe Coders: Key Strategies to Get Your AI-Crafted Tools Discovered</title>
<link>https://coderlegion.com/4664/seo-for-vibe-coders-key-strategies-to-get-your-ai-crafted-tools-discovered</link>
<description>&lt;p&gt;“Vibe coding” is revolutionizing software development. Instead of manually writing code, developers now use natural language prompts to guide AI tools—like &lt;strong&gt;GitHub Copilot&lt;/strong&gt;, &lt;strong&gt;Cursor&lt;/strong&gt;, or &lt;strong&gt;Bolt&lt;/strong&gt;—toward functional code generation. While it accelerates deployment, it increases the challenge of making code or tools discoverable via search.&lt;/p&gt;
&lt;h2 id=&quot;search-engine-optimisation-for-vibe-coders&quot;&gt;Search Engine Optimisation for Vibe Coders&lt;/h2&gt;
&lt;p&gt;This guide shows how vibe coders can utilise SEO techniques to ensure their AI-generated tools, scripts, or portfolios surface in search—even as traditional search evolves toward AI-managed answers.&lt;/p&gt;
&lt;h3 id=&quot;what-is-vibe-coding-amp-why-seo-needs-to-adapt-&quot;&gt;What Is Vibe Coding &amp;amp; Why SEO Needs to Adapt?&lt;/h3&gt;
&lt;p&gt;Coined by &lt;strong&gt;Andrej Karpathy&lt;/strong&gt; in 2025, vibe coding emphasizes using AI to generate code from conversational prompts. It accelerates development but also risks creating obscure or undocumented tools that traditional search engines struggle to index effectively.&lt;/p&gt;
&lt;p&gt;Meanwhile, the search landscape is shifting toward AI Answer Engines—platforms like &lt;a rel=&quot;nofollow&quot; href=&quot;https://chatgpt.com/&quot;&gt;ChatGPT&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://chat.deepseek.com/&quot;&gt;DeepSeek&lt;/a&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://search.google/ways-to-search/ai-overviews/&quot;&gt;Google’s AI Overview&lt;/a&gt;, and &lt;a rel=&quot;nofollow&quot; href=&quot;https://copilot.microsoft.com/&quot;&gt;Bing AI&lt;/a&gt; that deliver answers directly without requiring a click. Visibility now demands not just ranking, but being cited within AI responses.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Also Read&lt;/strong&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://coderlegion.com/4510/openais-live-unifies-advanced-reasoning-with-multimodal-capabilities-massive-context&quot;&gt;OpenAI’s GPT-5—now live—unifies advanced reasoning with multimodal capabilities and massive context&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;seo-strategies-vibe-coders-should-implement&quot;&gt;SEO Strategies Vibe Coders Should Implement&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=16385565286825202197&quot; alt=&quot;&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;example-seo-christian-workflow&quot;&gt;Example SEO-Christian Workflow&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Project Page&lt;/strong&gt;: Create a page with structured URL like /vibe-coder-todo-app and title “Vibe-Coded To-Do App with AI Guidance.”&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: Add a blog-style walkthrough titled “How I Built My To-Do App Using Vibe Coding”—explain prompts, iterations, debugging tips.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FAQ Section&lt;/strong&gt;: Insert Q&amp;amp;A such as “What is vibe coding?” or “Why choose AI-over-manual coding?” and include FAQ schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Schema Markup&lt;/strong&gt;: Use SoftwareSourceCode and FAQPage in JSON-LD to help AI systems recognize your content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance Boost&lt;/strong&gt;: Optimize images, scripts, and rethink mobile behavior—boost Core Web Vitals.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Track Visibility&lt;/strong&gt;: Monitor Google Analytics and look for AI-driven features like featured snippets or answer panels.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;why-this-mindset-is-important-&quot;&gt;Why This Mindset Is Important?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Generative SEO is the future&lt;/strong&gt;: Being discoverable isn’t just about keywords—it’s about being cited by AI systems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vibe Coding Democratizes Development&lt;/strong&gt;: But without SEO, your contributions may remain invisible. The right optimization brings visibility.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sustain Relevance&lt;/strong&gt;: As AI reduces the need for clicks, preparing your content for voice search, snippet, and AI inclusion maximizes reach.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Also Read&lt;/strong&gt;, &lt;a rel=&quot;nofollow&quot; href=&quot;https://coderlegion.com/4493/geo-and-aeo-redefine-seo-for-2025-by-structuring-content-to-be-cited-rather-than-just-ranked&quot;&gt;GEO and AEO redefine SEO for 2025 by structuring content to be cited—rather than just ranked—by AI!&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&quot;concluding-thoughts&quot;&gt;Concluding Thoughts&lt;/h3&gt;
&lt;p&gt;Vibe coders lead the next wave of AI-powered engineering—but keeping your projects discoverable requires a new SEO approach. You should focus on documentation, structured data, conversational-focused content, and performance.&lt;/p&gt;
&lt;p&gt;Ready to audit your vibe-code portfolio or &lt;a rel=&quot;nofollow&quot; href=&quot;http://sadiqsaleem.com&quot;&gt;set up schema&lt;/a&gt; for AI visibility? Drop me a line—&lt;a rel=&quot;nofollow&quot; href=&quot;https://coderlegion.com/user/Sadiq+Saleem&quot;&gt;I’d love to help you&lt;/a&gt; get found by AI agents and humans alike.&lt;/p&gt;
</description>
<category>Automation Tools</category>
<guid isPermaLink="true">https://coderlegion.com/4664/seo-for-vibe-coders-key-strategies-to-get-your-ai-crafted-tools-discovered</guid>
<pubDate>Tue, 12 Aug 2025 23:03:06 +0000</pubDate>
</item>
<item>
<title>Snyk just made security invisible to developers—AI writes secure code without them thinking about it</title>
<link>https://coderlegion.com/4563/snyk-just-made-security-invisible-developers-writes-secure-code-without-thinking-about</link>
<description>&lt;h2 id=&quot;the-end-of-security-as-a-developer-concern-snyk-s-secure-at-inception-revolution&quot;&gt;The End of Security as a Developer Concern: Snyk's 'Secure at Inception' Revolution&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;How Model Context Protocol integration promises to make security completely invisible to developers writing AI-generated code&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&quot;As a developer, you never want to think about security, right? That's always been our goal,&quot; said &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.linkedin.com/in/rdegges/&quot;&gt;Randall Degges&lt;/a&gt;, Head of Developer and Security Relations at &lt;a rel=&quot;nofollow&quot; href=&quot;https://snyk.io/&quot;&gt;Snyk&lt;/a&gt;, his excitement palpable as he demonstrated technology that could fundamentally change how we approach application security. &quot;I think we're like, almost completely there. This gets you 99.8% of the way.&quot;&lt;/p&gt;
&lt;p&gt;What Degges showed me during our interview at Black Hat 2025 wasn't just another security tool—it was a glimpse into a future where developers can write code without ever thinking about vulnerabilities, compliance, or security best practices. Through Snyk's new &quot;Secure at Inception&quot; platform, powered by Model Context Protocol (MCP) integration, security becomes as invisible and automatic as spell-check in a word processor.&lt;/p&gt;
&lt;h3 id=&quot;beyond-shift-left-security-at-the-first-prompt&quot;&gt;Beyond Shift-Left: Security at the First Prompt&lt;/h3&gt;
&lt;p&gt;The cybersecurity industry has spent years promoting &quot;shift-left&quot; security, the idea of moving security considerations earlier in the development lifecycle. Snyk's new approach obliterates that entire paradigm by embedding security directly into the AI coding process itself, starting from the very first prompt a developer types.&lt;/p&gt;
&lt;p&gt;During our demo, Degges created a simple note-taking application in Node.js using Cursor, an AI-powered code editor. He typed a single prompt: &quot;Build a simple note-taking app in Node that uses SQLite and lets users create an account, log in, edit and store notes.&quot; Then he hit enter and stepped back.&lt;/p&gt;
&lt;p&gt;What happened next was remarkable. The AI didn't just generate the application code, it automatically scanned every dependency for vulnerabilities, analyzed each code file for security issues, and autonomously fixed problems like hardcoded secrets, cross-site request forgery vulnerabilities, and missing rate limiting. All without a single additional prompt or security-related instruction from the developer.&lt;/p&gt;
&lt;p&gt;&quot;I didn't say a single thing about security in that prompt,&quot; Degges emphasized. &quot;And just wait until it finishes—I guarantee you this app is going to work perfectly. By the time it's done, semantically everything's going to be correct, and on the security side, it's going to be secure.&quot;&lt;/p&gt;
&lt;h3 id=&quot;the-magic-of-natural-language-security-rules&quot;&gt;The Magic of Natural Language Security Rules&lt;/h3&gt;
&lt;p&gt;The secret lies in Snyk's MCP server integration and natural language rule system. Developers can create rules in plain English, such as &quot;If you modify or add any code, please scan that code with Snyk and fix any vulnerabilities&quot; or &quot;If you add or change any dependencies, please do a Snyk open source scan and fix the vulnerabilities.&quot;&lt;/p&gt;
&lt;p&gt;These rules operate completely in the background. The AI coding assistant automatically invokes Snyk's scanning capabilities whenever it generates or modifies code, receives detailed vulnerability information, and then autonomously implements fixes, all while maintaining a running conversation about the application's functionality rather than its security posture.&lt;/p&gt;
&lt;p&gt;&quot;This is the coolest thing I've seen since I've been working in this industry,&quot; Degges said, watching the AI systematically identify and resolve security issues in real-time. &quot;Developers don't think about security at all. Zero. Absolutely zero.&quot;&lt;/p&gt;
&lt;h3 id=&quot;confidence-driven-automation&quot;&gt;Confidence-Driven Automation&lt;/h3&gt;
&lt;p&gt;The system's effectiveness hinges on Snyk's confidence modeling. The company maintains a massive internal database that benchmarks their detection accuracy for each specific type of vulnerability across different programming languages. When confidence levels approach 100%, the system operates fully autonomously. When confidence is lower, it can flag issues for human review.&lt;/p&gt;
&lt;p&gt;&quot;If confidence levels are approaching 100%, then maybe human-in-the-loop isn't as important,&quot; Degges explained. &quot;Maybe you can focus on other issues. As our confidence thresholds get to 99.9 plus percent, we're going to start rolling this out everywhere.&quot;&lt;/p&gt;
&lt;p&gt;This isn't theoretical—the system validates its fixes by automatically rescanning modified code to ensure vulnerabilities are actually resolved and that the fixes don't break existing functionality. It's essentially performing the human code review process autonomously.&lt;/p&gt;
&lt;h3 id=&quot;the-ai-bill-of-materials-governing-the-invisible&quot;&gt;The AI Bill of Materials: Governing the Invisible&lt;/h3&gt;
&lt;p&gt;While automating security fixes addresses one challenge, the rise of AI-generated code creates another: visibility. Snyk's AI Bill of Materials (AI-BOM) tool addresses what Degges calls the &quot;invisible and constantly changing&quot; nature of AI-driven development.&lt;/p&gt;
&lt;p&gt;The AI-BOM scans applications to identify every AI component, model, dataset, and MCP server being used, creating a comprehensive inventory that updates in real-time. During our demo, it revealed detailed information about models, their parameters, data sources, and execution paths—information that would be nearly impossible to track manually across large development teams.&lt;/p&gt;
&lt;p&gt;&quot;Even internally at Snyk, we have this problem,&quot; Degges admitted. &quot;Our CISO was like, 'Hey, you're not allowed to use public ChatGPT. You're allowed to use these particular models.' But how do they figure out what people are actually using? That's what the AI-BOM solves.&quot;&lt;/p&gt;
&lt;h3 id=&quot;toxic-flow-analysis-the-new-attack-vector&quot;&gt;Toxic Flow Analysis: The New Attack Vector&lt;/h3&gt;
&lt;p&gt;Perhaps most intriguingly, Snyk's Toxic Flow Analysis (TFA) framework, developed through their Invariant Labs acquisition, addresses security risks that emerge from the interactions between AI tools—even when each individual tool is secure.&lt;/p&gt;
&lt;p&gt;&quot;Even though the tools themselves are perfectly secure, it's the interaction between the tools that can be abused when you're working with large language models,&quot; Degges explained, referencing recent GitHub security research that demonstrated how attackers could manipulate AI systems through carefully crafted prompts in bug reports.&lt;/p&gt;
&lt;p&gt;TFA analyzes combinations of MCP tools to identify potential security issues in their interactions, providing a new category of security analysis specifically designed for agentic AI environments.&lt;/p&gt;
&lt;h3 id=&quot;the-vibe-coding-security-challenge&quot;&gt;The Vibe Coding Security Challenge&lt;/h3&gt;
&lt;p&gt;The emergence of &quot;vibe coding,&quot; where developers describe desired functionality in natural language and AI generates the implementation, creates unique security challenges. Traditional security training focused on teaching developers to recognize and avoid security antipatterns becomes irrelevant when AI is writing the code.&lt;/p&gt;
&lt;p&gt;&quot;You can never trust the conversations,&quot; Degges emphasized, comparing AI-generated code to conversations with strangers on AOL Instant Messenger. &quot;You need to have autonomous tools in place to check the code. If you don't do that, you are 100% screwed. You will have a lot of breaches and issues.&quot;&lt;/p&gt;
&lt;h3 id=&quot;the-future-of-secure-development&quot;&gt;The Future of Secure Development&lt;/h3&gt;
&lt;p&gt;Snyk's approach represents a fundamental shift in how we think about application security. Rather than training developers to be security experts or requiring them to constantly context-switch between coding and security tools, it makes security completely transparent to the development process.&lt;/p&gt;
&lt;p&gt;&quot;This is what people are going to be doing in like a year,&quot; Degges predicted. &quot;Everyone will be doing this. No one's going to be doing it the old way.&quot;&lt;/p&gt;
&lt;p&gt;The implications extend beyond individual productivity. As AI agents become more sophisticated and autonomous, having security baked into the foundation of AI-assisted development becomes not just convenient but essential. The technology promises to solve the fundamental tension between development velocity and security rigor that has plagued the industry for decades.&lt;/p&gt;
&lt;p&gt;For developers, the message is clear: the future of coding is conversational, and security is becoming someone else's problem—in the best possible way.&lt;/p&gt;
</description>
<category>Java</category>
<guid isPermaLink="true">https://coderlegion.com/4563/snyk-just-made-security-invisible-developers-writes-secure-code-without-thinking-about</guid>
<pubDate>Mon, 11 Aug 2025 09:35:26 +0000</pubDate>
</item>
</channel>
</rss>