Tools that earn their complexity
Most web apps are heavier than they need to be. I build the smallest version of the thing that can do the job, and leave room to grow into it.
- +A scoped, working application, not a half-finished prototype
- +Documented codebase you (or another developer) can pick up
- +Sensible deployment and monitoring set up from day one
- +Honest advice about what to build next, and what not to
- ·A clear sense of who the app is for and what they'll do with it
- ·A decision-maker who can choose when trade-offs come up
- ·Time for a weekly conversation, not a daily one
What this actually looks like.
Right-sized
I scope down before I scope up. A spreadsheet is fine, until it isn't. I tell you when it isn't.
Sensible auth
Magic-link, SSO, or email/password, picked by what fits, not what's trendy.
Dashboards that read
Numbers, in order, with units. No 12-tile vanity grid.
Payments without theatrics
Stripe done right, with webhooks you can trust and a receipt page you'd actually open.
A real database
Schema designed for the questions you'll ask, not the screens you'll show.
Documented
A short README that says what runs where and how to add a feature without breaking the rest.
How a project moves.
- 01
Conversation
Scope, constraints, the actual problem. Not the screen list yet.
- 02
Sketch
A few crude flows on paper. We argue with the flows, not the visuals.
- 03
Build
Vertical slices: one feature working end-to-end before we add the next.
- 04
Pilot
Real users, real data, on the staging environment, before we point a domain.
- 05
Hand off
Either to your team, or onto a support retainer with me. Either way: documented.
What I usually reach for.
Picked by what fits the project, not what's on the bookshelf.
- Next.js
- Prisma
- Postgres
- Stripe
- NextAuth
- Vercel
- Resend
- Tailwind CSS
Let's build something great.
A short paragraph about the problem you're solving is plenty. I read every email, usually within a day.