Insurance quoting platform: a leaner data layer and tests before launch
On an insurance quoting and binding platform heading for launch, OES simplified the data layer, moved authentication in a day, and put tests and production checks where mistakes cost money.
- Sector
- Insurance
- Role
- Engineer on the application from March to May 2026, and on its infrastructure until June.
- Timeline
- March to June 2026
- Stack
- SvelteKit, TypeScript, Postgres, AWS, Terraform
Outcomes
- 1 day To move authentication to a maintained library, with existing users keeping their passwords.
- Before launch A production email fault that would have blocked every login, found and fixed before user testing.
- Billing Tax that was being left off invoices, fixed.
The problem
The platform quotes and binds insurance. Pricing comes from a rating engine, policies are bound through the app, and applications arrive as PDFs. It was being readied for launch, and the parts where a mistake reaches a customer’s bill needed testing before real customers relied on them.
The data layer had become hard to work with, the authentication library had been sunset, and production hadn’t been set up yet.
What OES did
Simplified the data layer. The ORM had become more hassle than it was worth, so OES replaced it with plain SQL across the services, routes and models, turned a dozen nested queries into two database views, and removed about ninety packages from the dependencies. The schema now lives in versioned SQL migrations the team can read.
Moved authentication in a day. With the old library sunset, OES moved sign-in to a maintained one in a day. Existing users kept their passwords through a migration of the stored hashes.
Tested where mistakes cost money. Unit tests went around the rating engine, the PDF parser, binding and coverage, and the end-to-end suite went from failing to fully passing.
Prepared production. OES set up AWS with Terraform: staging and production with continuous deployment to both, the client’s own domain and email. While doing it, OES found that the production email configuration didn’t match what the app expected, so every magic-link login would have silently failed. It was fixed before testers depended on it, and a guard now stops production being seeded with test data.
Other work included an email system with stored templates and delivery logs, a billing fix for tax that was being left off, and time-limited, audited admin impersonation that can’t make payments or bind policies.
The outcome
A platform heading for launch with fewer moving parts, a data layer the team can read, authentication on a supported library, tests around pricing and binding, and a production environment that had been checked end to end before anyone relied on it.
What this means for you
Before launch, put the effort where a mistake reaches a customer’s bill or locks them out: pricing, binding, sign-in and invoices. And check production by using it, not by trusting that the configuration was copied across correctly.
Have a prototype that needs to become a product?
Tell me what it is and when it needs to ship. Email is the quickest way to reach me.