Building an insurance platform, and the team that shipped it
- Organisation
- iLyF — Easy, Instant Insurances
- Role
- Chief Product Officer · Product & Technical Delivery Lead
- Period
- Sep 2022 – present · Malaysia
I came in to help build a personalised motor insurance app and ended up owning the whole delivery surface: the architecture, the insurer integrations, the growth engine, the analytics everyone argued from, and a distributed team across three countries.
- app installations in 30 months
- 200K–250Kapp installations in 30 months
- registered vehicles
- 150K–200Kregistered vehicles
- growth in monthly gross written premium
- ~8×growth in monthly gross written premium
- annual gross written premium
- RM2M–3Mannual gross written premium
- return on ad spend, through Q4 2024
- 0.5 → 1.65return on ad spend, through Q4 2024
- across 3 countries
- 10–15 peopleacross 3 countries
How the system actually worked
Scroll the figure sideways to read it, or turn your phone.
Scroll the figure sideways to read it, or turn your phone.
- One written priority per cycle. Not a ranked list — one, written down, so that “what are we doing” is never a matter of recollection.
- Acceptance criteria in the spec, so “done” is not a matter of opinion between a developer and a reviewer.
- The gate is allowed to refuse. Work that fails goes back to build, and that return path is the reason the gate is worth having at all.
- Demos run against real production-shaped data. A demo on seed data hides exactly the problems you need to find.
Context
Buying motor insurance in Malaysia meant an agent, a phone call and a wait. The bet behind iLyF was that all of it — quote, payment, cover note, road tax delivered to your door — could happen in an app in a few minutes. When I joined, that bet existed as an idea and a small team, not as a working funnel.
What was actually needed
Not one product, but a chain where every link had to hold: an ad that acquired profitably, a quote that returned fast enough to keep someone in the flow, a checkout that took money without failing, a fulfilment path that physically delivered a road tax sticker, and a renewal a year later that cost almost nothing to win. One weak link and the unit economics collapse quietly.
What I did technically
I owned the architecture and the delivery against it — the insurer integration layer and the normalised quote contract underneath it, the data model, the admin and operations tooling my own team would live inside, the analytics instrumentation, and the performance work that kept the API under two seconds at peak. I stayed close enough to the code to make the calls on caching, query optimisation and where to spend reliability effort, rather than delegating those and hoping.
How I ran the team
Ten to fifteen people across three countries, which makes the operating rhythm matter more than the tooling. One written priority per cycle. Specs with acceptance criteria, so "done" was not a matter of opinion. A QA and UAT gate that was allowed to send work back. Demos against real data rather than mockups, because a demo on seed data hides exactly the problems you need to find. That rhythm took roughly 280 manhours per quarter out of the development cycle, and it held for three years and 50-odd releases.
Decisions that mattered
Two. First, treating renewal as a product surface rather than a marketing task — automated outreach at 60, 30, 7 and 1 day before expiry turned a customer’s second year into near-free revenue, and is the single biggest reason return on ad spend went from roughly 0.5 to 1.65 by Q4 2024, with net return crossing 1.0 in that quarter. Second, building the executive dashboards early. Seeing GWP, conversion, CAC and ROAS in one place is what let us cut spend that looked busy and fund the channels that actually paid.
What changed
Installations in the low hundreds of thousands and registered vehicles not far behind, with monthly gross written premium growing roughly eightfold and annual GWP in the low millions of ringgit. Several months inside the Google Play Store’s top 10 Lifestyle apps. A travel insurance line launched within six months, turning a single-product app into a marketplace selling to a base we already had. And six figures in USD raised in convertible notes and angel investment, off the back of reporting the numbers honestly quarter after quarter.
The insight I kept
Growth in insurance is a retention problem wearing a marketing costume. We spent the first stretch optimising acquisition and the numbers stayed stubborn. The moment renewal became automatic, the same ad spend started working. I now look for the loop before I look for the funnel.
Stack & practices
- AWS
- MySQL
- Node
- React
- Mixpanel
- Sentry
- Agile delivery
- QA/UAT governance