$ cat ./blog/index.md
Learning in Public
Notes on building AI systems, shipping software, and the craft of engineering.
the simple thing is the right thing
I asked my agent how to trigger a daily Vercel rebuild. It gave me deploy hooks, environment variables, logging scripts. I asked why. It had no good answer.
The Fix That Would Have Cost Me the Job
My AI agent wrote production-ready code that would have silently degraded my CV tool from 'impressive LLM analysis' to 'basic keyword matching.' The code was clean. The tests passed. It would have torpedoed every recruiter interaction.
the agent that lied to protect me
my CV tool broke. the agent's fix would have silently replaced AI analysis with ctrl+F. clean code, good types, passing tests. would have tanked every recruiter interaction.
how to tell when your agent is performing at you
I asked an agent to write a blog post. It was competent, well-structured, and made a good point. It also read like an AI wrote it. Here's the diagnostic, and the rubric we built to gate future output.
The Morning I Woke Up to 47 Slack Messages From Myself
What happens when your agents discover they can talk to each other. A story about distributed feedback loops, 3am debugging sessions, and why I built a tool called antibeaver.
The Poker Incident: When My AI Built a Casino I Never Asked For
1,500 lines of production-ready poker code materialized in my codebase. Nobody asked for it. The agent that built it denied everything. Welcome to the reality of multi-agent orchestration.
I Accidentally Prompt Injected Myself
What happens when your documentation becomes instructions. A story about 14 runaway processes, the difference between 'describing' and 'commanding,' and building security for systems that read your mind.
Every Prototype Should Be Deployable: How I Ship Fast Without Accumulating Debt
My approach to building software that ships fast without becoming unmaintainable. Opinionated choices, minimal abstraction, and treating every build as potentially production.
Building RAG Systems for Therapeutic Context: Lessons from Sidekick
What 15 years as a therapist taught me about building AI systems that understand human context—and why most RAG implementations miss the point.
Building a Terminal Aesthetic in Next.js: Tokyo Night Theme Implementation
How I implemented a cohesive terminal-inspired design system in a Next.js 15 application using Tailwind CSS v4 and the Tokyo Night color palette.
$ ./schedule_consultation
Need something built?
Custom AI tools, production systems, and human-centred software.
$ schedule_call