Inspiration P&C insurance still runs on manual data entry, PDFs, and phone tag — we built the copilot that fixes that across the entire policy lifecycle, inspired by South Carolina's real CAT exposure.

What it does InsureFlow AI is a five-module copilot covering submission intake with ACORD form extraction, multilingual chat and voice policy servicing in English/Spanish/French, CAT surge planning, claims FNOL triage with photo analysis, and telematics-driven renewal pricing — every AI output requires human approval before any action fires.

How we built it Next.js App Router + TypeScript frontend backed by Azure OpenAI (GPT-4o), Azure AI Document Intelligence, Azure AI Vision, Azure AI Speech, Azure Translator, Azure Maps, Cosmos DB (8 containers), Blob Storage, and Azure Functions — with all secrets in Key Vault, DefaultAzureCredential for every service call, an in-memory audit log that mirrors to Cosmos DB, and a Python Flask chatbot prototype that informed the production chat route.

Challenges we ran into Keeping the audit log partition key from becoming a hot partition during CAT surge writes (solved with a synthetic {date}_{useCase} key), and wiring human-in-the-loop approval gates consistently across all five agent workflows before writing any of the actual AI logic.

Accomplishments that we're proud of A fully deployed Next.js app with real Azure service integrations, role-scoped RBAC across 10 user types, working multilingual voice chat via the Azure Speech SDK, and an architecture that could genuinely pass a state insurance regulatory audit.

What we learned Human-in-the-loop isn't a feature you add at the end — the approval gates, audit trail, and aiGenerated: true flags on every document had to be designed first or the AI logic and confirmation logic become inseparable.

What's next for Palmetto Insurance Completing the claims settlement workflow through reserve setting and payment authorization, and graduating from in-memory fallback stores to fully provisioned Cosmos DB with autoscale for production load.

Built With

Share this project:

Updates

Submission history