Multi-step insurance purchase flow
A five-step flow for carmatik.ro where individuals and companies buy car insurance: enter the details, compare offers from multiple insurers, pay.
- JSP
- JavaScript
- CSS
- Figma
- ANAF integration
The brief
carmatik.ro is a production automotive e-commerce platform. The insurance flow lets a user buy a policy without leaving the site. Five steps gather the details, retrieve offers from multiple providers and carry the purchase through payment, with separate branches for individuals and companies.
What made it hard
Insurance is the most conditional, validation-heavy flow on the platform. Every step adapts to who the user is and what they drive.
- Branching logic. Individuals and companies get different fields, validation, and steps. Logged-in users skip the contact step entirely.
- External data. A national-registry (ANAF) lookup auto-fills and validates company data so users don't retype it.
- Regulatory weight. RCA conditions, high-risk-insured notices, and direct-settlement pricing all had to be presented and handled correctly.
- Built for reuse. The module was always going to move into the insurance backoffice, so nothing could be one-off storefront markup. Every component had to be portable from day one.
What I did
I owned the frontend implementation and contributed to the design in Figma, so I shaped both how the flow looks and how it's built. The part I'm proudest of is the component architecture.
- Type-driven inputs. Instead of bespoke fields per step, one configurable input covers every case: static lists, backend-sourced options like car manufacturers, or key/value maps. The same components compose all five steps.
- Logic kept at the flow level. The guest-only contact step and the individual-vs-company branching live in the flow, not the components, so the shared inputs stay clean and reusable.
- Built to move. Because the inputs are driven by type and data, the module can move into the insurance backoffice with its components intact. That move is planned, not yet made.
What it looks like
09 items














Outcome
Live at carmatik.ro/asigurari: a complete insurance funnel, payment included, built on reusable, type-driven components designed to move into the insurance backoffice without a rewrite.