§ Case study · Bespoke build

AI-native MVP for a fintech founder team.

A working product in the market inside twelve weeks — three engineers, one designer, and a founder who could keep shipping after we left.

a fintech founder team

Client

Founder & SMB

Tier

12 weeks

Duration

2026

Delivered

The context

What they came to us with.

Two technical founders and a first hire, an idea sharp enough to draw pre-seed money, and no engineering capacity to build the first version. They'd been quoted a build by a body-shop consultancy that would have used their entire runway on the pilot.

The product was AI-first — LLM orchestration at the centre of the user experience — but they were clear that they didn't want to hire around it before validating that the shape worked with real users.

They needed a working product in the market inside a quarter, code they owned end to end, and the ability for their two engineers to keep shipping after the engagement ended.

The approach

What we did, in order.

  1. Small team, senior throughout.

    Two of our senior engineers alongside their two, one designer shared with another engagement. No juniors under seniors. The lead was on the code every day.

  2. Written-down scope, weekly demo.

    A four-page scope document produced in the first week. A working demo every Friday for both founders. Scope changes discussed in the room; three shipped, two deliberately deferred.

  3. Rails backbone, TypeScript surfaces, Python for the ML side.

    Ruby on Rails and Hotwire for the product surface — Turbo, Stimulus, no SPA. TypeScript for the browser-heavy flows. Python where the ML libraries lived. One deploy pipeline, one on-call rota, no microservice archaeology.

  4. LLM orchestration in Ruby.

    The agentic layer sat in the Rails app. Structured outputs, guardrails, eval harness, cost caps. Ownership stayed with the product team, not siloed in a Python service they wouldn't touch.

  5. Handover as a phase.

    From week seven, we paired more than we drove. Week eleven was code-review reversed — their engineers led the merges; ours commented. Week twelve was on-call together, then off.

How we measured

The bar we held ourselves to.

  1. Weekly demo against the scope document. Every deferred item logged with a reason.
  2. Test coverage on core product surfaces before feature launch — not a target, a gate.
  3. LLM output eval on a small fixture set drawn from beta-user interactions, refreshed each sprint.
  4. Cost-per-user projection updated weekly against actual usage; the pricing model was tuned mid-engagement based on it.

The outcome

Where it landed.

12 wks

Concept to live product

4

Engineers on the engagement (2 ours, 2 theirs)

£0

Follow-on retainer

Live in twelve weeks with paying beta users on day one. The handover completed on schedule; the client team has shipped every subsequent release themselves. The follow-on retainer was £0 — by mutual choice, not by accident.

The founders have since raised their seed round on the shipped product. The pricing model — which had been a leap of faith at week two — held up at week twenty. We stay in touch as engineers who like the founders, not as a vendor.

Retrospective

What we'd do differently.

  1. We over-invested in one feature the founders had asked for in week one and under-shipped a supporting flow they later called "the actual moat". We'd push back harder on scope early next time.
  2. The eval fixture set was drawn late — we would draw it from week two, from paper prototypes if necessary.
  3. We would insist on the designer being full-time from week one. Sharing them across engagements slowed us in the first three weeks.

Have something with this shape?

A 30-minute discovery call. We'll say honestly whether the pattern fits.