Evidence-first insurance for nightlife — rebuilt as software, end to end.
Nightline runs the full value chain. A venue logs an incident; AI agents turn it into a citation-backed underwriting packet in ~200ms; a broker places coverage; and the carrier underwrites its own submissions and adjudicates its own claims — coverage decision → reserve → payment → close. The first AI-native carrier, in miniature. Every step traces back to source evidence.
Live demo · Eval dashboard · Mobile walkthrough
One-click demo personas on the landing page, or sign in (password demo123): venue@elsewhere.com (operator) · broker@nightline.risk (broker) · underwriter@nightline.risk (carrier desk)
Operator logs an incident
│
▼
Agent pipeline (~200ms) retrieval · risk scoring · claims timeline · underwriter memo
│
▼
Citation-backed underwriting packet (+ async vision corroboration on uploaded media)
│
▼
"Worth filing?" recommendation → auto-routed to the broker's inbox
│
▼
Broker reviews → Approve / Reject / Request info → confirm & file FNOL → carrier Claim
│
▼
Carrier desk underwrite submission (suggested terms / decline) · adjudicate claim
coverage decision → reserve → payment → close (+ advisory AI underwriting memo)
- Evidence layer — incident → multi-agent packet (retrieval, risk eval, timeline, memo) → broker decision. A vision agent corroborates uploaded photos/video against the written report.
- Recommendation + routing — a deterministic "worth filing?" engine (net EV, confidence) auto-routes high-confidence incidents to a prioritized broker inbox.
- Broker platform — full placement → policy → claims lifecycle: submissions, multi-carrier quotes, bind, endorsements, COIs, cancellation refunds, and carrier-side claims. On web and mobile.
- Carrier desk — Nightline's own underwriting + claims authority (the "AI-native carrier" rung): a carrier underwrites submissions at engine-suggested terms or declines, and an adjuster adjudicates claims end to end — coverage decision → reserve → payment → close, with an indemnity gate and a full audit trail. Web and mobile.
- AI underwriting memo — an advisory, eval-gated recommendation on the carrier's quote dossier: posture (quote / quote-with-conditions / decline), subjectivities, and a rate-adequacy read, grounded in the venue's risk + loss history (the pricing engine still owns the premium). Deterministic-first, so it runs with no keys.
- Eval harness — 21 incident scenarios (7 exposure classes) × 10 scorers, plus 12 underwriting scenarios × 3 scorers (posture 0.917 / rate-adequacy 0.917 / faithfulness 1.0, including boundary cases where the model's call is a documented, defensible disagreement). Signature-keyed baseline regression gate in CI; live scoreboard at
/evals. - Ingestion spine — extract → transform → quality-gate → idempotent-load pipeline (POS / ID-scanner / staffing / NY State open data) that moves venue risk scores from real signals.
- Live monitoring — per-zone RTSP frame sampler → Gemini classification → a 3-gate false-positive filter → self-calibrating PWA push alerts.
- Engineering discipline —
Decimalmoney, UTC timestamps, lifecycle state machines withassert_valid_transition, anAuditEventon every state change, SHA-256 snapshot hashes, and a pluggable provider matrix (deterministic stubs + Anthropic / Gemini / OpenAI, key-gated).
| Layer | Technology |
|---|---|
| Web | Next.js 16 (App Router) |
| Mobile | React Native (Expo SDK 54) |
| Backend | FastAPI + SQLModel (Postgres in prod, SQLite locally) |
| Agents | Deterministic stubs + Anthropic / Gemini / OpenAI (key-gated) |
| Deploy | Vercel (web) + Railway (backend) |
Backend (from backend/):
python -m uvicorn app.main:app --port 8000Frontend (from frontend/):
npm run dev # → http://localhost:3000Set NEXT_PUBLIC_API_URL=http://localhost:8000 in frontend/.env.local. Backend env is all optional except APP_SECRET in production — see backend/.env.example. Unset LLM keys fall back to deterministic stubs, so it runs with no keys.
Mobile (from mobile/): set EXPO_PUBLIC_API_URL, run npm start, scan the QR with Expo Go.
Idempotent; auto-seeds on startup — 5 demo venues with diverse incidents, plus ~286 real NYC nightlife licensees as scored prospects (NY State open data). Optional scripts, from backend/:
python -m scripts.seed_demo_placements # 4 submissions + 1 bound policy
python -m scripts.seed_prospects # ~286 NYC prospects
python -m scripts.seed_defense_demo # incident → packet → claim (exportable defense PDF)
python -m scripts.seed_adjuster_demo # 8 carrier claims across every adjudication state- Architecture v2 — the evidence layer (incidents → packets → claim proposals)
- Broker platform, Phases 1–3 — placement, policy lifecycle, carrier claims
- ADR-0004 — why
Claim≠ClaimProposal - Carrier claims adjudication + AI underwriting memo — the carrier rung
- More design specs in
docs/superpowers/specs/.