2020 — present · iOS, Android, Web admin
One Insurance Cyprus
Quote, buy and manage motor, travel and property insurance end to end from a phone — no office visit, no paperwork. One Insurance is a licensed insurance intermediary supervised by the Ministry of Finance of Cyprus.
Built for DoitCare Holding · founded and led as CTO
- Flutter
- TypeScript
- Node.js
- Google Cloud
- Firebase
- Vue 3
- PostgreSQL
- Claude API
- Stripe
Problem
Buying insurance in Cyprus meant an office visit, paper forms and days of back-and-forth. Each insurer exposes its own API with its own rules, a quote often depends on answers that reveal further questions — and as a licensed intermediary, every sale has to stand up to the regulator.
Architecture
- Flutter consumer app (iOS and Android) with a chat-driven purchase flow, five languages including right-to-left Hebrew, and Apple and Google Wallet passes.
- An event-driven, microservice-style back end on Google Cloud: about 170 independently deployed TypeScript Cloud Functions — 81 callable APIs, 55 HTTP endpoints, 29 Firestore triggers and 9 scheduled jobs — plus outbound webhooks. It is the integration hub for leading Cyprus insurers (quotes, proposals, policy issuance), with automated alerts when an insurer changes an API field without notice.
- A company-agnostic question model: one canonical schema plus per-insurer mappings, edited in a no-code “Question Studio” in the Vue 3 admin dashboard.
- A Claude-powered agent service (Fastify, PostgreSQL, Docker) that replaced a per-answer round-trip to the insurer with an instant conversational quote flow.
- Payments on Stripe: checkout, instalment plans with idempotent retry scheduling, and safeguards against double charging on redirect-based payment methods.
- Role-based access (admin, support, dealer), WebAuthn passkeys, and Firestore security rules enforced on client and server; ID and document OCR with Azure AI Document Intelligence and Google Cloud Vision.
Result
- Five codebases in continuous production since 2020; I wrote the first version of the mobile app and backend myself and authored about 95% of the back end’s 1,258 commits.
- Policy purchase time cut from 48 minutes to 16.
- 1,500+ users; the platform became a B2B2C product serving insurers directly — the company’s core business.