diff --git a/designs/campaigns.html b/designs/campaigns.html new file mode 100644 index 0000000..9afce27 --- /dev/null +++ b/designs/campaigns.html @@ -0,0 +1,327 @@ + + + + + + Quinn Prospector • Campaigns + + + + + +
+ +
+
+
+
+
+
+
+ Quinn Prospector — Campaigns +
+
+
+ + core: targeted outreach + auto-replies +
+
+
+ + +
+
+ Hub + Audience builder → preview → launch. Replies auto-handled by the runner (GO mode). +
+
124 prospects in scope
+
+ +
+ +
+
+
Audience filter
+ +
+
Bands (Life is opt-in only)
+
+
+ +
+
Markets
+
+
+ +
+
Tags (classification)
+
+
+
+ +
+
Time-ago windows (days)
+
+ First msg + + + Last msg + + +
+
e.g. last-msg ≥ 14 days = re-engage quiet prospects; first-msg ≤ 7 = fresh inbound only.
+
+ + +
+ + +
+ + +
+ Build a filter on the left, then Preview audience to see the matched count, segment/market breakdown, and sample handles before launch. +
+ + +
+
+ Past campaigns + enqueued / skipped / matched · auto-replies tracked in Control → Activity +
+
+
+
+
+ + +
+ Launching enqueues to the runner outbox (cap-aware). Inbound replies are auto-qualified + drafted per RUNNER-POLICY (GO). Held → Control view. +
+
+ + + + + + + diff --git a/designs/control.html b/designs/control.html new file mode 100644 index 0000000..755912f --- /dev/null +++ b/designs/control.html @@ -0,0 +1,222 @@ + + + + + + Quinn Prospector • Control + + + + + +
+ +
+
+
+
+
+
+
+ Quinn Prospector — Control +
+
+
+ runner: GO +
+
+
+ +
+ Hub + Kill-switch + digest + live activity + held queue. The operator's monitoring cockpit. +
+ +
+
+ +
+
+
+
PWA / Chrome App
+
One installable Chrome PWA, served same-origin under /prospector/*. Install for a standalone window — no URL bar, full F12 devtools. (beforeinstallprompt captured; manifest in public/)
+
+ +
+ +
+ + +
+
+ Runner Mode + updated just now +
+
+ + + +
+
+ Current: GO · engine deepseek-r1-distill +
+
GO = auto-qualify + auto-send (cap-aware). PAUSE = drafts only, no sends. AWAY = everything held for review.
+
+ + +
+
+ Digest + last 12h +
+
+ sent 14 + held 3 + errors 0 + Mac reachable: yes +
+
Rolling 12h digest from the runner. Mac reachability = mac-sync mesh up (Apple Notes pastebin, outbox, messages).
+
+ + +
+
+ Activity Feed + 6 recent +
+
+
+ + +
+
+ Held Queue + 3 held +
+
+
+
+
+ +
+ Settings + activity + held-queue poll /prospector/* same-origin. Mode change = PUT /prospector/settings. +
+
+ + + + diff --git a/designs/index.html b/designs/index.html index 71e246c..b5cbf47 100644 --- a/designs/index.html +++ b/designs/index.html @@ -3,16 +3,15 @@ - Quinn Prospector — Design System (iOS + OSX) + Quinn Prospector — Design Hub (PWA) - +
- +

Quinn Prospector

-

Design System • 2 Apps (iOS + OSX) • Shared Private quinn-api (SSO)

+

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

- v0.1 • DRY in @applications/@prospector/@packages (prospector-client + prospector-ui) + PWA-only • NestJS + Postgres + MCP
-
Reuses tv-anarchy patterns • Bilingual (OCR ES→EN) support
+
designs/*.html are the authoritative visual + behavior contract
- +
-
System Architecture — 2 Apps + Shared Backend
- +
System Architecture — One App, One Backend, One Database
+
- -
-
- - iOS App / Tab + +
+
+ + Installable Chrome PWA (web/)
-
Primary tab (tag 3 "Prospector") inside @cocottetech v4 client (ios-fe TabView + ProspectorView.swift in cockpit-kit). Supports the 1-view + Bilingual flag.
- Open iOS Tab Design → -
Live impl extracted from LP tracker into cocottetech paths.
+
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.
-
↔ SSO (no mesh/VPN)
+
↔ same-origin
-
Shared Backend (Private quinn-api + DB)
-
- • quinn-api (SSO-protected, private access)
- • Auto-Runner service (local-model autosend per handoff: poll macsync, scam/qualification, fixed templates or LOCAL MODEL per RUNNER-POLICY)
- • DO GPU on-demand (raw H100 + vLLM + model-boss for uncensored OSS models optimized for prospect work)
- • macsync for threads, pastebin (🌹 Note), outbox sends, calls, mark-read +
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
- View Backend DO GPU Fleet (models only) →
-
↔ SSO
+
↔ MCP
- -
-
- - OSX App + +
+
+ + MCP server (@packages/mcp-prospector)
-
Dedicated rich desktop companion @applications/@quinn-prospector. Full 1-view, pastebin editor, reports, operator tools. Bilingual flag + drillable reports.
- Open OSX Main View → +
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).
-
Executor: The auto-runner loop + RUNNER-POLICY (from Executor/prospecting/voice-engine/) drives the local model for live qualifying/booking replies.
+
+
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.
- -
-
Extract from LP (lilith-platform) & Organize Apps Properly
-
Significant iOS work finished in the feature tracker. Extract the artifacts and organize into the proper @ structure (no more root strays or .project-only living docs).
- -
-
- iOS side (finished work to extract):
- • swift-ui/ProspectorMessengerView.swift (the 1-view spec — already ported to cocottetech cockpit-kit)
- • scripts/ (build.sh, deploy-iphone-wireless.sh, deploy-iwatch-wireless.sh, full-cycle.sh) + ios-tools.config.json + scripts/README.md (DX; active now in cocottetech ios-fe, these are reference)
- • objectives/README.md + README.md (updated with path correction, status for UI/classification)
- • quinn-my-ui/ProspectorMessenger.tsx + my/frontend prospector pages (web reports: ProspectorPage with stream/tour/engine tabs + FunnelStrip, BackfillBar, DraftEngineSelector, ExperimentsTab, TourBoardTab etc. — the "4 reports" surfaces) -
-
- Organized structure:
- • @applications/@quinn-prospector (this OSX dedicated app + designs/)
- • iOS: integrated as tab in @cocottetech (current home) or extract to @applications/@quinn-prospector-ios if dedicated Quinn iOS app needed
- • Shared: @applications/@prospector/@packages/prospector-client (merged domain+api), prospector-ui (components)
- • Tracker (.project/feature_quinn-prospector-ios in LP worktree + main): now correctly points to cocottetech paths + marks quinn-ios as historical/legacy. Keep for planning/history only (per doc normalization: live in source docs/, not .project/). -
-
-
See the dedicated live docs we added: cocottetech cockpit-kit/README.md and ios-fe/README.md (full impl, wiring, status, build DX). The Executor/prospecting/ (HANDOFF-prospector-pastebin-queue.md, PROSPECTOR_TRAINING.md, PROSPECTING-NOTES.md, voice-engine/RUNNER-POLICY.md etc.) is the source for the executor instructions/skills/loops + policy for the local model.
-
- -

Drillable Design Mocks (open in browser to explore)

+

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

-
- -
-
iOS
- iOS Tab Mock (device frame) -
The iOS Tab Mock (device frame) renders the 1-view as it appears in the live cocottetech client TabView (primary tab). Includes Bilingual support for ES/OCR cases. Matches the extracted LP prototype.
-
Related live: cocottetech ios-fe/App.swift (TabView with --tab 3) + cockpit-kit/ProspectorView.swift
-
+
+ +
Roster
+
Main View
+
The 1-view: Life/Dates/Digital channels, prospect list with MR + classification badges, Classify/Request-MR toolbar, funnel stats, bilingual toggle.
+
- -
-
OSX
-
-
- Main View -
Full 1-view, channels, list with badges, toolbar (Classify, Pastebin refresh, Bilingual toggle), funnel stats.
-
-
- Detail + Chat -
Prospect detail, bilingual message, Mr Number/stage, quick actions, pastebin preview.
-
-
- Pastebin Editor -
Live macsync-synced 🌹 templates (canon from Executor). Edit + apply for drafts.
-
-
- Backend DO GPU -
Model-serving fleet (H100, vLLM). For operators — clients use SSO quinn-api only.
-
-
- Queued Tasks -
See & manage the 4+ queued (classify/draft/send/backfill). Cancel, prioritize, run on GPU now. Drill to prospects.
-
-
-
-
+ +
Prospect
+
Detail + Chat
+
Per-prospect thread, bilingual messages, MR-number screening, classification, stage timeline, composer, quick actions + correction loop.
+
- -
- -
-
-
4 Drillable Prospector Reports (see them fully in the dashboard)
-
The core subfeatures from the v4 prospecting brief + web prospector cockpit surfaces (stream, tour, engine, experiments). All 4 are fully visible with tables, filters, bilingual, drills in reports-dashboard.html — no high-level labels.
-
-
Open full interactive dashboard →
-
+
+
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.
- -
-
Embedded in this hub (non-partial: the numbers have actual visible content here)
- -
- -
-
-
4 Tasks Queued (Auto-Runner)
- Full manager (tabs, bulk, simulate tick, log) → -
-
- - - - - - - - -
IDTypeProspectPrio
T-4821Classify (GPU)Maria (ES OCR)Highmanage
T-4820Draft (Local Model + RUNNER-POLICY)Alex RiveraMedmanage
T-4819Send (macsync outbox)JayHighmanage
T-4818BackfillLA Tour CohortLowmanage
-
Click full manager above to cancel/run/bulk/simulate full handoff loop (poll→screen→qual→draft/send per RUNNER-POLICY). 1 ES bilingual task included.
-
-
- - -
-
-
4 Reports at a Glance (actual rows visible)
- Full 4-report dashboard with filters/tables → -
-
-
-
1. Cross-Provider Graph
-
Alex (95, 3 prov) • Jordan (88) • Maria ES (82) see table
-
-
-
2. Warm Intros
-
Sam Patel accepted (2 turns, booked) • Taylor proposed see list
-
-
-
3. Auto-Qualify + Draft
-
Alex: conf92 sent • Maria ES: conf84 bilingual draft • 38 today full queue + bilingual toggle
-
-
-
4. Internal Marketplace
-
Beauty lead → SF peer (accepted) • Sam routed see matches
-
-
-
-
-
These previews are real data excerpts from the full interactive designs. The linked pages have the complete management + filterable tables so every claim ("4 tasks", "4 reports") has visible, actionable content.
-
- - -
-
Executor / Auto-Runner (the "skills and loops for handling prospecting inbound")
-
Long-running service (poll macsync inbound, scam/safety screen, qualification state, route to fixed templates or LOCAL MODEL per RUNNER-POLICY.md from Executor/prospecting/voice-engine/, persist draft, send via macsync outbox cap-aware). Lives in quinn-api backend (DO GPU for the local model). Infra to build per the gap analysis in the handoff (poll worker, scam screen in-repo, LIVE sender, mode/control, fixed templates, local model endpoint).
-
Key artifact: RUNNER-POLICY.md (Quinn-owned solicitation brain/policy — build session loads it as data only). See the full handoff in LP tracker + Executor/prospecting/ (PROSPECTOR_TRAINING.md, PROSPECTING-NOTES.md, voice-engine/*).
-
-
- All designs are static, fully interactive HTML prototypes. Use them as the complete upfront visual spec before extracting the LP artifacts into the organized @applications/@prospector (OSX central + @packages/) + cocottetech paths (iOS tab) or dedicated iOS app, and before implementing the auto-runner infra. Open files directly in browser to drill (click any link/card). Bilingual data models + UI flag are in the shared @applications/@prospector/@packages and reflected in all mocks + live cocottetech ProspectorView. (Note: @quinn-prospector is legacy transitional.) + 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.
diff --git a/designs/ios-prospector-tab.html b/designs/ios-prospector-tab.html deleted file mode 100644 index fdd5f82..0000000 --- a/designs/ios-prospector-tab.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Quinn Prospector • iOS Tab (in @cocottetech client) - - - - - -
-
iOS: Dedicated quinn-prospector experience (or Quinn-branded tab in cocottetech client)
- -
-
- -
- 9:41 - 100% -
- - -
-
Prospects • Dates
- -
- - -
-
-
Life (Personal)
-
Dates (Bookings)
-
Digital
-
-
- - -
-
-
-
-
Alex
-
Hey, rates?
-
-
-
95 MR
-
qualified • New
-
Request MR
-
-
- -
-
-
-
Jay
-
Can I book a FaceTime show?
-
-
-
72 MR
-
content-curious • OF-live invited
-
-
- - -
-
-
-
Maria (ES)
-
Hola, rates for incall?
-
→ Hi, rates for incall?
-
-
-
82 MR
-
work:dates • New
-
ES (OCR)
-
Request MR
-
-
-
Bilingual flag (in real SwiftUI ProspectorView + toolbar toggle): shows original (ES/OCR from image or direct) + translated EN inline. Toggle off to see EN only for classify/draft flow.
- -
+ 35 more (Alex 95 qualified, Jay digital, ops medical, hair, beauty...)
-
- - -
-
Classified: 27
-
High Score: 95
-
- - -
-
Drops
-
Assets
-
Fleet
-
Prospector
-
Activity
-
Insights
-
-
-
- -
iOS tab (tag 3, primary after Fleet). Matches the SwiftUI prototype extracted from LP. In dedicated quinn-prospector iOS or Quinn-branded view in cocottetech client. Data via private quinn-api (SSO). See cocottetech ios-fe/App.swift for the TabView shell and cockpit-kit for the view impl.
- -
- - diff --git a/designs/markets.html b/designs/markets.html new file mode 100644 index 0000000..500bf13 --- /dev/null +++ b/designs/markets.html @@ -0,0 +1,247 @@ + + + + + + Quinn Prospector • Markets + + + + + +
+ +
+
+
+
+
+
+
+ Quinn Prospector — Markets +
+
+
+ + tour-market = metro + date window + tz +
+
+
+ + +
+
+ Hub + +
+
+ + + +
+
+ +
+
+ + + +