Blog

Notes on my day-to-day as an engineer, my story, and the specific things I learn along the way. For deliverables and client work, head to Projects.

Code comments in the AI agent era

Tech essay · The why, not the what

Code comments in the AI agent era

Code is now mass-produced, and the reader spending the most time on it is an AI agent. I built an entire app with one, in a language I don't master, and the result forced me to rethink the old rule that code shouldn't be commented.

Claude Code Swift · SwiftUI Why-comments ADRs Chesterton's fence +1
Read more
Betting on yourself is the best investment you can make

Reflection · Why I decided to go freelance

Betting on yourself is the best investment you can make

Just having faith that things will work out isn't a strategy.

Self-employment Compound interest Transversal knowledge Hope ≠ strategy Evidence > narrative +3
Read more
The four cells of the harness A 2×2 matrix. Rows are Feedforward (before the step) and Feedback (after the step). Columns are Computational (the code decides) and Inferential (the model decides). Each cell carries a combined label in bold and a spoken motto in italics at the bottom: guides · deterministic "this is always done this way", guides · semantic "think about it this way", sensors · deterministic "this is broken — look here", sensors · semantic "this smells off — are you sure?". Each cell also lists concrete instances in monospace. The four cells of the harness Computational Inferential Feedforward Feedback guides · deterministic PreToolUse hooks allowed-tools per agent permission allowlists schema · scope guards "this is always done this way" guides · semantic CLAUDE.md · project rules ADRs · decision records skills · agent frontmatter specs (OpenSpec, etc.) "think about it this way" sensors · deterministic build & tests type-check · lint PostToolUse hooks spec validate "this is broken — look here" sensors · semantic adversarial review reviewer subagent structured diagnostics lesson capture "this smells off — are you sure?"

How I run agents today · hooks, specs, subagents

Harness Engineering — the code that surrounds the agent

An LLM is non-deterministic, so the critical rules have to live outside the agent, in code the agent cannot rewrite.

Claude Code Hooks (PreToolUse / PostToolUse) Subagents OpenSpec Skills +2
Read more