Quinn Prospector

Design Hub • One installable Chrome PWA • served same-origin under /prospector/*

PWA-only • NestJS + Postgres + MCP
designs/*.html are the authoritative visual + behavior contract
System Architecture — One App, One Backend, One Database
Installable Chrome PWA (web/)
The sole operator surface. React PWA installs as a standalone macOS/Chrome window (no URL bar, full devtools). Served same-origin by the backend under /prospector/*. No Swift app, no native macOS target, no platform my/ round-trip.
↔ same-origin
NestJS backend (src/) + Postgres
• Feature-sliced NestJS modules on their own Postgres DB
• Auto-runner: poll inbound, scam/safety screen, qualify, draft/send (cap-aware) per RUNNER-POLICY
• DO GPU on-demand for classify/draft models
mac-sync mesh: Apple Notes pastebin (🌹), outbox, messages, calendar
↔ MCP
MCP server (@packages/mcp-prospector)
How agents / coworkers drive the prospector programmatically. The PWA is the operator's direct UI; the MCP is the agent's. Both hit the same backend + DB.
Bilingual / OCR: data models + UI flag show original (ES etc.) + translated (EN) for non-English inbound (OCR from images or direct).
Two "market" notions: campaign-targeting market = E.164 calling-code bucket; tour-stop market = metro + date window + timezone.

Drillable Design Mocks (open any file directly in a browser to explore)

Roster
Main View
The 1-view: Life/Dates/Digital channels, prospect list with MR + classification badges, Classify/Request-MR toolbar, funnel stats, bilingual toggle.
Prospect
Detail + Chat
Per-prospect thread, bilingual messages, MR-number screening, classification, stage timeline, composer, quick actions + correction loop.
Core • Outreach
Campaigns
Band/market/tag facet chips (Life opt-in), first/last-msg age windows, Preview audience → matched count + breakdown pills + sample handles, launch with confirm, past-campaigns table. Replies auto-handled by the runner.
Tour analytics
Markets
Tour-market selector + 7d/30d/90d range, peak-hours stacked bars, conversion-by-hour, peak-days, auto-qualify funnel, by-band & by-locality.
Cockpit
Control
Kill-switch GO/PAUSE/AWAY, digest pills, live activity terminal, held queue, PWA install card. The operator's monitoring panel.
Runner
Queued Tasks
Manage the auto-runner queue (classify / draft / send / backfill). Tabs, bulk actions, simulate a runner tick, drill to prospects, runner activity log.
Reports
Reports Dashboard
Drillable prospecting reports with filterable tables, bilingual rows, and detail drills.
Templates
Pastebin Editor
The 🌹 Note synced via mac-sync (Apple Notes). The draft canon — edit + apply to open drafts.
Infra
Backend DO GPU
Model-serving fleet (H100, vLLM) for on-demand classify/draft. Operator/infra view only.
All designs are static, fully interactive HTML prototypes — open files directly in a browser to drill (click any card/link). They are the authoritative visual + behavior contract per docs/PROSPECTOR.md; when UI/behavior disputes arise, the prototypes win. Bilingual (OCR ES→EN) data models + UI flag show original + translated for non-English inbound, and are reflected across the mocks and the live PWA.