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
Why I bet on myself and went freelance

Story · Why I work for myself

Why I bet on myself and went freelance

I didn't chase it — it arrived almost by accident. But looking back, everything pointed here: betting on myself and raising my risk tolerance instead of buying a false sense of stability.

Freelance Castro Solutions Creativity Risk tolerance Consistency > talent +1
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