Feature Inventory · captured 2026-08-18

Intake Dashboard — every feature, mapped

Complete inventory of the current staff dashboard and visitor widget, captured from the live beta. This is the redesign contract: every feature and destination listed here survives the redesign — only the presentation changes.

Architecture
LayerWhat
Staff dashboardNext.js (App Router) on Vercel — staff sign-in, role-based (Super Admin), firm-scoped
Visitor widgetSeparate Vercel app serving embeddable widget.js (shadow DOM, per-firm config, consent screen) + public demo page
Data / authSupabase; staff users provisioned per firm via CLI
AISelf-hosted chat model (Qwen via Tailscale) as primary — client data never trains someone else's model · Gemini embeddings · per-firm local-LLM override
Multi-tenancyEvery firm: isolated knowledge base, leads, conversations. Demo firm: Bayou Injury Law (Demo)
Pipeline
RouteFeatures (all preserved)
/Home — welcome + card grid to 8 areas
/leadsMaster-detail pipeline. Filters (status, qualification, search), Export CSV, Scan for duplicates, Extract from recent chats. Detail: hybrid score (rule 88 · AI 90), status + assignment, full field grid, internal notes, transcript, Dispute / Credit Request tab (14-day window)
/conversationsMaster-detail review. Filters (review status, system status, transcript search, flagged-only). Detail: consent record, AI summary generator, review status / assign / flag / tags, metadata
Optimize
RouteFeatures (all preserved)
/kbKnowledge base: unanswered-questions triage (Answer in KB / Resolve / Ignore), retrieval preview, import-from-URL, manual items (tags, source type, active/inactive, .txt/.md upload), auto-indexing + re-index
/promptsVersioned prompt system (system / tone / legal_safety / intake): draft → publish (auto-archives) → roll back; live assembled system-prompt preview
/test-casesScripted multi-turn conversation tests w/ expected replies + pass threshold; run one / run all × N iterations; per-turn match detail
/adversarial-evalSafety eval: 154-case adversarial corpus (Advice-seeking, PHI, Jailbreak, Implied representation, Louisiana-specific); sample runner; run history w/ pass rates
Insights
RouteFeatures (all preserved)
/analyticsLive metrics: engagement (conversations, messages, avg/chat, handoffs), answer quality (KB-grounded %, guardrail flags, tokens), outcomes (leads, bookings, callbacks), 14-day chart
/reconciliationBilling: monthly report (total/qualified/net-billable/pending disputes/gross/credited/net, per-lead table, Export CSV, Finalize month) + publishable Qualified-Lead Definition (contract text, $/lead, qualifying scores, disqualifying statuses)
Configure
RouteFeatures (all preserved)
/settings/llmProvider chain (primary → fallback) + health check; per-firm local-LLM override (base URL, label, model, key, test connection)
/settings/widgetTerms of Use + Privacy Policy URLs → widget consent screen links
/settings/rate-limitLive per-IP limits (12/min, 300/day), test-the-limiter, recent real blocks
/firmsFirm onboarding (name, intake email, phone) → generated embed snippet + staff-login command
Visitor widget (public)
SurfaceFeatures (all preserved)
LauncherFloating "Chat with us" pill, per-firm primary color, shadow-DOM encapsulated
Consent screenDisclaimer (not legal advice, no lawyer-client relationship), Terms & Privacy links (from Widget Settings), consent checkbox gates Start chat
ChatWelcome message, quick-reply chips (practice areas, book consultation), streaming replies, restart / close, lead capture + booking / handoff / callback flows
The redesign
Design system · Private AI by ProvaPreview live
PaletteNavy #074975 / deep #042A44 / green #46A247 — navy = structure, green = action
TypeSource Serif 4 (display) · Source Sans 3 (body) · IBM Plex Mono (evidence — scores, IDs, timestamps, labels)
Navigation13 flat items → 4 labeled groups in a navy rail: Pipeline · Optimize · Insights · Configure. Every destination preserved
SignatureEvidence aesthetic: report documents (dashed inset, mono metadata) for reconciliation & lead dossiers; event trails for run history
StrategyDrop-in reskin — keeps the app's existing CSS hooks; markup changes only where UX demands (shell, master-detail)

PRIVATE AI BY PROVA · INTAKE DASHBOARD · FEATURE INVENTORY 2026-08-18 · ALL FEATURES PRESERVED THROUGH REDESIGN