Search the site
Find pages, case studies and writing
Skip to content
All writing

From click-through prototype to live orders in under two weeks

A mobile SIM sign-up platform went from a click-through prototype to live production in about ten days, and has taken real orders since July. Tests went from zero to more than 120 along the way.

The prototype looked finished. It had no real data, no infrastructure and no tests.

About ten days later it was live in production on AWS. It has taken real customer orders since July.

It’s a multi-brand mobile SIM sign-up platform for a telecoms reseller: customers pick a plan and sign up under whichever brand they came in through. There’s a short case study on the work page.

Making it real

A convincing prototype is mostly fake data. Around 29,000 lines of it came out, replaced by a real database and real services.

The production infrastructure went onto AWS: containers on ECS, a database on RDS, email, encryption and routing for each brand’s domain.

Quality alongside speed

Fast doesn’t have to mean fragile.

  • Tests went from zero to 123: 108 server tests and 15 end-to-end tests.
  • Known dependency vulnerabilities went from nine to zero, five of them high severity.
  • A production outage was fixed the same day, with the fix captured in infrastructure code and written up as an incident.
  • Go-live readiness: a guard that stops test data being seeded into production, and a runbook.
  • Architecture checks: I ported the boundary checker from an earlier project. Another developer added it to CI, where it runs on every pull request. More on those checks.

After launch

Launch is where you find out what you missed. Shortly after real orders started, I found customers weren’t getting confirmation emails. I built them, made sending retry safely, and backfilled the ones that had been missed. More on failures like that.

When the client asked for a way to remove orders and sign-up journeys without losing the record, that shipped the same day.

What a client gets from this

A production product on a short timeline, with the operational basics actually checked: tests, security, backups, and someone watching what happens after launch.

Got a prototype and a date? Let’s talk.