Skills

This isn't a resume. It's a statement of craft philosophy.

What I'm Good At

Building consumer-facing products. I've spent over a decade shipping things people actually use. I know what it feels like when something works—and when it almost works, which is worse.

Bridging technical and human concerns. I care about the code and the person using it. I think in systems, but I communicate in stories. UX isn't a phase of the project; it's a lens.

Working with AI tools. I use Claude and other AI assistants daily—for code, for writing, for thinking through problems. I've developed a feel for where they're useful and where they're not. I don't treat them as magic or as replacement; they're tools with edges.

Learning in public. I'm comfortable not knowing things and saying so. I've found that honesty makes the work better.

How I Approach Building

Start with the simplest thing that could work. Then add complexity only when it hurts. Most features don't need to exist.

Optimize for understanding, not cleverness. If I can't explain what the code does in plain language, I probably don't understand it well enough.

Ship, then iterate. Working software teaches you things that specs and plans can't. Get it in front of people. Watch what happens.

Write it down. Documentation isn't overhead; it's how you think clearly. If I can't write a clear sentence about a decision, the decision isn't ready.

Tools I Reach For

Languages: TypeScript, JavaScript, Python. Enough Go and Rust to read them.

Frontend: I've used React for years, but I'm increasingly drawn to simpler approaches—HTML, CSS, progressive enhancement.

Backend: Node, Bun, Cloudflare Workers. I like the edge.

Data: PostgreSQL, SQLite, Redis. I don't reach for NoSQL unless I have a specific reason.

AI: Claude (obviously), GPT-4, local models when they make sense. Comfortable with the API, with prompt engineering, with building AI-assisted workflows.

Design: Figma, but I'm happiest when I can work directly in code.

What I'm Learning

Right now: how to build well in a world where AI can do a lot of the typing. What does "senior" mean when the machine handles the boilerplate? Where does the value shift?

Also: how to explain complex technical ideas to my kids without lying or oversimplifying. It's harder than writing code.

Working With Me

If you're considering working together:

You can find me on GitHub or LinkedIn.