Work

Every claim has a system
in production behind it.

Written up with the numbers, and every number is one we can show you where it came from. Client names and references on request.

01
School uniform retail · 11 months live

A Java storefront replaced under live traffic

The problem

A decade of Grails 3 running a seasonal storefront, where the back-to-school spike is the revenue and the platform could not be safely changed during it. Every customer password was a one-way BCrypt hash — the usual migration path ends in a forced reset email for every account, which is a login wall at the exact moment of purchase. At the counter, collecting an order took about ten minutes: wait for a POS terminal, look the order up, confirm it, walk to the back, find it, take a signature.

What we built

A Next.js storefront on Shopify, Stripe and Supabase, with authentication that migrates each customer at the moment they log in: the app validates the entered password against the legacy hash and provisions the new account in the same request. No cutover weekend, no reset email, no announcement. Then the counter itself — packed orders get a storage bin, a printed label and a QR code sent by SMS; staff scan it on an iPad, see the bin number, pull the order, and take the signature on the same screen.

2,038
accounts migrated
0
reset emails sent
43
schools served

Want the longer version?

Ask for the case file — full write-ups with architecture diagrams and the numbers we didn't fit on this page.

Request the case file