~/blog

Blog

$ls ./posts/ -la

React Context Fixed My Infinite Re-render Loop

Jan 21, 2026

Storing selection state in React Flow node data caused an infinite re-render loop. Moving to React Context kept node objects stable and fixed it.

reactperformancecontextreact-flowCode Atlas

Using Code Atlas to Understand AI-Generated Code

Jan 19, 2026

Code Atlas turns source code into interactive diagrams showing function calls, file relationships, and control flow. Built it because I'm a visual learner.

code-atlasai-toolsvisualizationlearningCode Atlas

I Built a Tool to Stop Myself from Overengineering

Jan 17, 2026

After 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.

toolsplanningcomplexityoverengineeringSolution Architect

I Built an AI Security Agent That Hallucinated 100 Vulnerabilities

Jan 16, 2026

Built 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.

ai-agentslocal-llmsecurity-scanningreact-patternlessons-learnedSecurity Agent

Setting Up Your First Ralph Loop: A Practical Guide

Jan 15, 2026

How I set up autonomous AI development with specs, task lists, and a bash loop

ralph-loopstutorialai-developmenttddautonomous-aiRalph Loops

Building an MCP Server in 2 Hours with 44 Autonomous AI Tasks

Jan 15, 2026

How fresh context windows per task changed my AI-assisted development workflow

ralph-loopsmcpllama.cppautonomous-aitest-driven-developmentRalph Loops

Ralph Loops Work Too Well (Now What?)

Jan 12, 2026

I tried two different approaches to test-driven AI development. Both worked. Here's what I learned about writing tests as requirements.

ralph-loopsai-developmentmethodologytddRalph Loops

Building a Self-Correcting Multi-Agent System

Jan 9, 2026

My AI agents wouldn't stop agreeing with each other. Here's what I tried, what failed, and what finally worked.

multi-agentllmlocal-llmprompt-engineeringiterationAgent-Driven Discovery

Five Personas, One Dataset: How Different Agents Find Different Insights

Jan 9, 2026

Same data, different perspectives. We built 5 Explorer personas and watched them find completely different insights from identical datasets.

multi-agentllmprompt-engineeringlocal-llmpersonasAgent-Driven Discovery

Building Feedback Loops into Multi-Agent Systems

Jan 8, 2026

How changing from a Validator to a Skeptic (and making it ask questions) dramatically improved insight quality in our data exploration pipeline.

multi-agentllmprompt-engineeringlocal-llmexperimentationAgent-Driven Discovery

When the Agent Found the Attacks

Jan 5, 2026

I 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.

securityagentslocal-llminvestigationproofAI Data Analyst

Why I Stopped Flagging Anomalies and Started Profiling Entities

Jan 5, 2026

I expected the LLM to do the heavy lifting. I learned most of the work should be deterministic.

architecturelocal-llmsecuritylessons-learnedAI Data Analyst

Deterministic Where You Can, LLM Where You Must

Jan 3, 2026

I ran my data cleaner three times on the same input. Got three different results. That's when I started building safety nets.

local-llmvalidationarchitecturelessons-learnedAI Data Analyst

Building a Local LLM Security Agent on Consumer Hardware

Jan 2, 2026

I avoided local AI for months. Work forced my hand, and I had a security agent running in a week.

local-llmllama.cppsecurityhardwaretutorialAI Data Analyst
Blog | Aaron Hays