Writing
Blog
Occasional notes on solutions architecture, AI agents, cybersecurity, and the products I build.
May 13, 2026 · ~12 min read
Getting Flutter logs back in the terminal
I moved my Flutter debugging into the Claude Desktop terminal so an AI could read my app's output live. The terminal showed every print() and swallowed every developer.log(). Fixing that took a logging facade, a custom printer that chunks long lines for iOS, and a shell filter that strips ANSI and mutes the SDK chatter I don't care about. Here is the whole ride.
Read moreApr 20, 2026 · ~10 min read
The bottleneck moved: what actually changed when AI started writing code
A three-act story about a shift most software teams are living through right now: how the old shop floor worked, the day AI-assisted coding broke the rhythm, and where the craft is heading next. Plain English, two diagrams, and a scene from my own week.
Read moreApr 19, 2026 · ~8 min read
Build an AI agent in any stack
An agent is one feedback loop with four moving parts. Here is what each part does in plain language, and the five mistakes that quietly break most of them.
Read moreMar 18, 2026 · ~9 min read
Give your AI agent an identity
A model with no identity is a smart typewriter. Here is the small pack of files that turns it into your agent, the load order that keeps it sane, and the templates to paste in tonight.
Read more