SaaS2026
InsureSync
Unified HR, CRM and claims platform for insurance companies.
A passion project: InsureSync, a unified workforce and customer-experience platform for insurance companies, built as a Next.js 14 + TypeScript Turborepo monorepo. A staff app covers HR, training and compliance, CRM, policies, claims, commission, scheduling and an omnichannel inbox across 8 staff roles; a customer portal handles policies, claims, renewals and surveys.
The hard part is the backend-ready seam: every screen talks to one typed
DataClient, backed today by a deterministic faker seed in IndexedDB, so a
real API swaps in with one env flag and zero UI changes.
Architecture
- Frontend: two Next.js 14 App Router apps (staff + customer portal) on a shared shadcn/Radix UI package, TanStack Query hooks, Recharts dashboards, a dnd-kit policy pipeline board and an EN/ES i18n string catalog.
- Data seam: one namespaced, typed
DataClientreturning a{ data, meta, error }envelope; a factory picksMockDataClientorHttpDataClientfromNEXT_PUBLIC_DATA_SOURCE, and ESLint import bans keep faker and mock logic out of the UI. - Engine: pure domain modules for severity-based claim SLAs, workload-balanced adjuster auto-assignment, a licence/certification eligibility gate, explainable rule-based churn scores, renewal stages, tiered commission and templated auto-messages, covered by 27 Vitest tests.
- RBAC & tenancy: one role→permission matrix drives navigation, route guards and
<Can>wrappers; every entity carries atenantIdand reads are scoped by role, the mock's analogue of row-level security. - Infra:
turbo pruneDocker builds into two standalone Next.js containers with healthchecks behind Nginx Proxy Manager, plus a BroadcastChannelsubscribe()realtime seam ready for SSE/WebSockets.
Tech stack
Next.js 14React 18TypeScriptTailwind CSSshadcn/RadixRechartsdnd-kitTanStack QueryIndexedDBfaker.jsBroadcastChannelTurborepopnpmVitestESLintDocker