
Sigorta.io
Renewal tracking, customer scoring, and quote intake on one panel for agencies.
What we built
Core product surfaces — each visual summarizes a flow we actually shipped.

Landing
sigortaio.app — “Don't just sell policies, manage your portfolio.” A data-driven strategy platform for agencies.

Operations panel
Incoming quote request screen — requests don't get lost in messages; tracked with status and source.
Problem
At insurance agencies, customer, policy, and staff workflows are scattered; portfolio analysis, renewal tracking, and cross-sell opportunities are missed.
Solution
Sigorta.io: one panel from quote requests to segmentation, renewals to staff performance. Portfolio analysis, cross-sell recommendation engine, role-based branch and staff access — on Supabase.
Architecture
- Frontend
- React + TypeScript + Vite SPA
- Backend
- Node.js / Express + Supabase
- Data
- PostgreSQL (Supabase)
- API
- REST + role-based access
- Deploy
- sigortaio.app
Technologies
Challenges
- Consolidating inbound requests from scattered channels (WhatsApp, QR, bio link) into the CRM
- Branch and staff data isolation with proper permissions
- Unifying portfolio, renewal, and cross-sell in one operational language
Solutions
- Link/QR request → tracked job record with status and source
- Role-based access + branch isolation
- Dashboard: portfolio distribution, staff metrics, risk gap map
Result
Live product: sigortaio.app — agency operations panel and demo request flow are open.
Links
Lab log
- Progress
Public launch
sigortaio.app is live; demo request and sign-in flows are active.
- Decision
Supabase + role-based access
PostgreSQL RLS and a permission model were chosen for branch/staff isolation.
- Note
Request channel = CRM entry
If WhatsApp/QR requests don't show in the panel, work is lost — inbound job logging is mandatory.