Quoting by hand does not scale, and does not stay correct
Insurance pricing is a calculation across provider rules, product variants and customer attributes. Done manually it is slow, and more importantly it drifts. A rule changes at one provider, and the quotes stay wrong until somebody notices.
What we built
A pricing engine where provider rules are the source of truth and quotes are derived from them in real time. Change a rule, and every subsequent quote reflects it immediately. No spreadsheet to update, no lag, no drift.
- Multi-tenant architecture: each provider owns their own rules and data.
- Dynamic premium calculation, derived rather than stored.
- Real-time comparison across providers, computed on request.
- Shariah compliance encoded as constraints in the engine, not as a manual review step.
The hard part was not the pricing maths
It was the isolation. Multiple providers on one platform, each seeing only their own data, each able to change their own rules without affecting anyone else, and all of them comparable to the customer in a single view.
That is an architecture problem, and it is where most of the engineering went. Multi-tenancy is easy to get almost right and expensive to get wrong.
The stack
React front end, NestJS microservices, PostgreSQL for rules and policy data, Redis for the pricing cache.