I’ve spent seven years as an independent engineer, working directly with founders and product teams rather than through an agency layer. Most engagements start the same way: someone has a decision their software isn’t supporting well, and by the time the work ships I’ve usually rebuilt more of the stack than anyone expected.
My default mode is genuinely full-stack — React and Next.js on the frontend, Postgres and TypeScript underneath, and enough infrastructure literacy to reason about the event stream, the auth layer, or the migration that’s actually causing the slowdown. I like owning a problem end to end, because that’s usually the only way to fix the cause instead of the symptom.
I work fixed-scope, ship in demos rather than status reports, and I’m usually still around months later when something needs tuning.
How I work
Fixed scope, never hourly
Hourly billing rewards slowness. You get a written scope and a number before anything starts.
Demos over status reports
A branch you can click through says more than a paragraph claiming progress.
Leave it maintainable
Tests, docs, and a handover call. The measure of a good engagement is that you stop needing me.
Where I’ve been
Independent engineer
Self-employed
Fixed-scope engagements with fintech, logistics, and publishing teams, usually as the sole engineer taking a product from rough spec to production.
Contract lead engineer
Various product teams
Embedded with small teams as the senior engineer on one initiative — typically a rebuild or a performance rescue on something already in production.
Freelance full-stack developer
Self-employed
Built and maintained web applications for early-stage startups, often as the first engineer a founder hired after building an MVP themselves.
Product engineer
Early-stage SaaS
First engineering hire on a small team. Learned what happens when nobody writes the migration down.
What working together looks like
A call, not a pitch
Thirty minutes on what you are actually trying to ship. If I am not the right person, I will say so and usually know who is.
A written scope
Before any money moves, you get the outcome, the approach, the price, and what is explicitly out of scope. No hourly surprises.
Work in the open
Branches you can read, demos over status reports, and a written update every day. You always know where things stand.
A clean handover
Documentation, tests, and a walkthrough with your team. The goal is that you do not need me afterwards.
Currently taking new work from october.