How I work.
Most of my work isn't about building from scratch. It's about stepping into what already exists and making it better.
That means:
- Understanding constraints before changing anything
- Improving structure instead of adding complexity
- Building things that can be reused, not just shipped
- Knowing when to automate and when not to
AI is part of how I build now. It's part of the stack, like everything else I use. I treat it the way I'd treat any other tool with real surface area: structured inputs, constrained outputs, deliberate iteration. The model drafts, refactors, and handles the parts that compound over time. I keep the architecture, the decisions, and the review.
I also run small agents inside the workflow. Short-lived, scoped to one job, used where it makes sense. Just another tool in the build, sitting alongside the rest of the stack. They don't replace the work. They make the work move.
Design works alongside that loop now. When a screen is easier to think through visually than in code, I start in Claude Design and prototype against the components and styling patterns the product already supports. From there it hands off into Claude Code. Figma stays in the mix for precision and system maintenance.
The goal is always the same: make the hard parts easier to use, and cheaper to evolve.
A continuous cycle, not a checklist
A few things that shape the work
- Systems before surfaces. A page is a render of something deeper. Get the underlying structure right and the surface gets cheaper to change.
- Constraints are the brief. A long-running platform, a legacy stack, a business that depends on what's already running. Those aren't obstacles. They're the actual design problem.
- AI runs through the workflow now. Agentic workflows, structured prompts, AI-assisted development. Used in the parts where it earns its keep.
Most systems don't need to be replaced. They need to be understood first.
The kind of work I take on
- Long-running platforms with real constraints
- AI-native products where structure beats vibes
- System-level UX, not single-page polish
- Frontend architecture in environments that can't be torn down
- Tooling and workflows where AI is the delivery layer, not the demo
- Greenfield-from-greenfield with no domain
- "AI feature for AI feature's sake" projects
- Visual refresh without structural change
- Agency-style throughput across many shallow surfaces