Case study
Home Insurance Platform
Overview
A digital home-insurance platform at ICICI Lombard that takes a customer from property details to an issued policy online — quote generation, coverage customisation, add-on selection, KYC, payment and policy issuance. I worked primarily on the Angular frontend and its integration with the backend APIs.
Problem / Context
Home insurance traditionally meant paperwork, agent back-and-forth and opaque pricing. The platform needed to make the full purchase self-service while keeping compliance, encryption and premium accuracy intact.
My Contribution
- Built parts of the Angular purchase flow — reactive forms, step navigation and RxJS-driven state
- Integrated real-time premium calculation and add-on selection against the pricing APIs
- Worked on authentication, encrypted request flows, KYC, payment and policy issuance on the client
- Delivered around 7–8 business-driven change requests across insurance products — mostly Angular frontend work, plus 1–2 .NET Core backend changes (API handling, validation, encrypted request flows)
The .NET Core services and their architecture were owned by the backend team; my backend contribution was scoped to specific endpoints, validation and encrypted request handling.
Technical Architecture
A central HTTP interceptor (with CryptoJS) handles encryption and auth so components stay free of crypto detail; requests use encrypted payloads with a JWT contract matching the .NET Core backend.
Key Engineering Challenges
Real-time premium recalculation
Premium had to update on every add-on toggle, tenure change or sum-insured edit, combining base premium, add-on cost, discounts and tax.
Solution: a centralised calculation service using RxJS subjects with debouncing to prevent API floods, and cached base-premium responses to avoid redundant calls.
Add-on eligibility rules
Add-ons carried interdependent eligibility rules — some auto-included, some requiring extra data, some tied to property type.
Solution: a single add-on form service holds the business rules; conditional rendering and modal data collection keep the UI consistent, with server-side validation as a second layer.
Encryption contract
The backend required an encrypted body plus a separately encrypted key in a header, with no documentation for the Angular client.
Solution: reproduced the contract inside an HTTP interceptor abstraction so all crypto complexity is hidden from feature code.
Impact
- Full quote-to-policy purchase available self-service online
- Sub-second premium updates on add-on and tenure changes
- ~7–8 business-driven CRs shipped across insurance products, including 1–2 .NET changes
Tech Stack
Angular · TypeScript · RxJS · CryptoJS · JWT · GTM · .NET Core REST APIs (backend integration)