~/blog
Blog
React Context Fixed My Infinite Re-render Loop
Jan 21, 2026Storing selection state in React Flow node data caused an infinite re-render loop. Moving to React Context kept node objects stable and fixed it.
Using Code Atlas to Understand AI-Generated Code
Jan 19, 2026Code Atlas turns source code into interactive diagrams showing function calls, file relationships, and control flow. Built it because I'm a visual learner.
I Built a Tool to Stop Myself from Overengineering
Jan 17, 2026After building a full ReAct loop when a simple skill would work, I made a complexity mapping tool that forces me to decompose problems before jumping to solutions.
I Built an AI Security Agent That Hallucinated 100 Vulnerabilities
Jan 16, 2026Built a ReAct agent with 12 tools in 3-4 hours. It found real CVEs but invented 100 fake vulnerabilities. A Claude Code skill does the job better.
Setting Up Your First Ralph Loop: A Practical Guide
Jan 15, 2026How I set up autonomous AI development with specs, task lists, and a bash loop
Building an MCP Server in 2 Hours with 44 Autonomous AI Tasks
Jan 15, 2026How fresh context windows per task changed my AI-assisted development workflow
Ralph Loops Work Too Well (Now What?)
Jan 12, 2026I tried two different approaches to test-driven AI development. Both worked. Here's what I learned about writing tests as requirements.
Building a Self-Correcting Multi-Agent System
Jan 9, 2026My AI agents wouldn't stop agreeing with each other. Here's what I tried, what failed, and what finally worked.
Five Personas, One Dataset: How Different Agents Find Different Insights
Jan 9, 2026Same data, different perspectives. We built 5 Explorer personas and watched them find completely different insights from identical datasets.
Building Feedback Loops into Multi-Agent Systems
Jan 8, 2026How changing from a Validator to a Skeptic (and making it ask questions) dramatically improved insight quality in our data exploration pipeline.
When the Agent Found the Attacks
Jan 5, 2026I gave a 7B model query tools and asked it to answer the 5 W's of an investigation. On two different datasets, it found the attacks.
Why I Stopped Flagging Anomalies and Started Profiling Entities
Jan 5, 2026I expected the LLM to do the heavy lifting. I learned most of the work should be deterministic.
Deterministic Where You Can, LLM Where You Must
Jan 3, 2026I ran my data cleaner three times on the same input. Got three different results. That's when I started building safety nets.
Building a Local LLM Security Agent on Consumer Hardware
Jan 2, 2026I avoided local AI for months. Work forced my hand, and I had a security agent running in a week.