I make products that survive their first users, then keep shipping past them.
Fullstack between Next.js and .NET. One SaaS live with paying users, a self-hosted ops stack on real hardware, and a long backlog of side things. I write code, run the boxes, answer the support, and read the receipts.
Ship to real users early
Production teaches faster than staging. I get a thin slice in front of someone within a week, then iterate on what actually breaks.
Own the receipts
Logs, alerts, on-call, Stripe disputes, support email — I write the code and read the inbox. The feedback loop is the product.
Code that survives Monday
Types at boundaries, tests on the hot paths, small files, honest names. Future-me has to debug this at 11pm and deserves a fair chance.
Agents on the team
Claude Code and Codex are in my daily loop — driven like sharp junior pairs: tight specs in, reviewed diffs out, tests before merge. I also ship LLM features (OpenRouter, self-hosted Ollama), and I stay accountable for every line that ships. Leverage, not autopilot.
Strummy
liveCRM for guitar teachers. Paying users since 2024.
Stories Automation
internalIG Stories at scale. Queues, retries, idempotency.
ShortsCannon
activeVideo job pipeline. Learning .NET + Angular in anger.
POST /api/v1/jobs 200 { id, status: queued } // MediatR · CQRS · EF Core
Home-Ops
internalSelf-hosted platform on real hardware. Pi monitoring hub, Tailscale mesh, systemd services, nightly restic backups.
INBORR
liveApartment rental landing site. Shipped fast, still live.
Pizzayolo
archivedOrdering UX sandbox. State machines + a11y.
Not a logo grid. Tools I've actually shipped with, plotted against time so you can see what I'm fluent in now versus what I picked up last week.
current focus
Shipping Strummy v3 — invoicing & reminders. Last push 5d ago, three open issues, none on fire. Side: re-reading Designing Data-Intensive Applications.
reading · listening
- Designing Data-Intensive Apps· Kleppmann
- How Big Things Get Done · Flyvbjerg
- Working in Public · Eghbal
- Acquired podcast · current: Costco
Looking for a fullstack or devops role.
Write to