Seven years shipping production software, mostly solo. Full-stack on SvelteKit and Go, with a side of infrastructure and a healthy bias toward boring-but-correct.
Most platform problems are coordination problems wearing technical clothes. The interesting work usually isn't in the code. It's in narrowing the surface area until the right answer becomes obvious, then defending that narrowness against the next round of good ideas.
Boring infrastructure compounds. Exciting infrastructure costs a year I don't get back. Buy what's commodity, build what compounds, and ship the tool the team will actually pick up rather than the one they should.
Mode follows the problem. Solo, small-team lead, IC in a larger org. The mistake is picking the mode first and bending the problem to fit it.
Shipped AI Designer, an AI-powered design tool with product-aware rendering. Customers see designs on the actual products they'll order, not generic art.
Consolidated three separate purchase pathways into one ordering platform, coordinating ten contributors across five departments to get there.
Replaced an outgrown third-party storefront platform with an in-house CMS that the public site now runs on.
Designed and shipped the employee portal: internal blog, HR hub, and unified toolkit, collapsing a stack of vendor tools and three logins into one surface.
Led the multi-repo Azure integration during the acquisition of another company's tech stack.
Built the orchestration layer that lets non-technical staff drive AI-assisted design workflows end to end.
Established the engineering job ladder, pay bands, and release-comms cadence as the team grew.
Stood up shared dev infrastructure for a distributed team: Mac Studio dev server, Tailscale mesh, and migrated log management off the previous vendor.
Mentored junior engineers from onboarding to shipping autonomously.
Ran the internal AI education series for non-engineering staff at a 470-person company.
I prefer a narrow set of tools held to a high standard over a sprawling one held loosely. The list below is what I reach for first, and what I'd defend in a code review.
TypeScript, SvelteKit, Tailwind. Strict types, runes, and a shared component library across every surface.
Go services on Render. Postgres for state. Event-driven where it earns the complexity, regular SQL where it doesn't.
Render for app workloads, AWS for storage and async, Cloudflare in front. Predictable behavior, no infra zoo to maintain.
Spec writing, spec implementation assistance, and orchestrating coding sub-agents. The tool I reach for first. Part of how the work actually ships, not a side experiment.