Behind the Code

How I think about building software, working with teams, and the tools I use.

2026-05-21

Symbol Update: Go Support, Three Pull Requests, and an Architecture That Held

Two days after open-sourcing symbol, Go support shipped, three contributors landed PRs, and people started running it in opencode. Notes on what the spec system became, what made Go easy, and the one thing that made it hard: interfaces.

ToolsAIGo
2026-05-19

Symbol: Compressing a Python Codebase Into a 2MB Lookup Table

I open-sourced symbol — an AST-native code index that started as a code audit tool and grew into an MCP server for Claude Code. A huge repo compresses to ~2MB in seconds, and from that table you can instantly locate any function, class, method, or reference.

ToolsAI
2026-03-01

How I Use AI — and Where I Draw the Line

AI is a tool in my workflow, not a replacement for thinking. I use it to move faster on boilerplate, explore ideas, and catch things I'd miss. But the architecture, the decisions, the code review — that's still me.

AIWorkflow
2026-02-15

In Praise of Boring Technology

PostgreSQL, Python, Linux. Not exciting at a meetup, but incredibly reliable at 3 AM. I pick technology that lets me sleep at night, not technology that looks good on a slide.

EngineeringPhilosophy
2026-02-01

How I Work

I write code in the morning, review in the afternoon, and think about architecture in the shower. I prefer async communication, short meetings, and long focus blocks.

Work StyleTeams
2026-01-15

Running Kubernetes at Home Changed How I Think About Infrastructure

When the cluster goes down at 2 AM and there's no on-call team — just you and dmesg — you learn fast. My homelab taught me more about reliability than any cloud certification.

InfrastructureHomelab