Skip to content
Services

Services

Web & product development

I design and build custom web apps and digital products, from prototype to production. I make sure they're fast, accessible and easy to maintain, with an architecture that holds up as the project grows and the team changes.

How I work

  1. 01

    Call and scope

    Half an hour to work out what needs validating and what doesn't. I come out with a clear view of the MVP: the smallest thing that creates value.

  2. 02

    A fixed proposal

    What I'll build, in what order, at what budget. No small print and no open-ended hours.

  3. 03

    Deployable iterations

    Every week something works in a real environment. You see progress in the product, not in a status report.

  4. 04

    Handover

    Documentation of what matters plus a session with your team. You leave with the code and the reasoning behind it.

How I work

I start by understanding the problem before picking tools. On most projects the hard decision isn't which framework to use; it's what not to build: which part of the scope creates value this week and which can wait.

From there I work in short, deployable iterations. I'd rather have one complete flow working end to end than five half-finished screens, because that's the only thing that lets you make decisions on real information.

What I build

MVPs to validate an idea, SaaS and micro-SaaS products, B2B platforms, internal dashboards and product sites on a headless architecture. I integrate with the APIs and systems you already use. When a backend is needed I build it; when one already exists I adapt to it instead of proposing a rewrite.

What I don't do

I don't rewrite a working system because its stack is out of fashion. A migration is only justified if it solves a problem already costing you money or time, and in that case we phase it, running alongside the old system until the new one is proven.

What's included

  • Prototype to production

    We start from what needs validating, not from the framework. What gets built gets deployed and used.

  • Performance measured, not promised

    Core Web Vitals as an acceptance criterion. If a page doesn't load fast, it isn't finished.

  • Accessibility by default

    Correct semantics, keyboard navigation and sufficient contrast from the first commit, not in a final pass.

  • Code that outlives the team

    Explicit conventions, strict typing and tests where they actually protect you. So the next person doesn't need archaeology.

Got a product to build?

Tell me what you want to build and I'll come back with a clear plan, no strings attached.

Schedule a call