Writing
Blog
Occasional notes on solutions architecture, AI agents, cybersecurity, and the products I build.
May 13, 2026Getting Flutter logs back in the terminalI 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.~12 min readApr 20, 2026The bottleneck moved: what actually changed when AI started writing codeA 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.~10 min readApr 19, 2026Build an AI agent in any stackAn 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.~8 min readMar 18, 2026Give your AI agent an identityA 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.~9 min read