Sophie // Partner Sync

Last updated: Apr 14, 2026
To discuss
Check the "What Happened" section below for recent fixes, shipped features, and progress across the last week.
Thinking about 9
Things I'm considering building. Not all committed yet, ideas on the table.
Dedicated support WhatsApp number (via Kapso) that messages org users after signup, nudges them to create campaigns, answers product questions via Claude. B2B only, not candidates. ~3-4 sessions to MVP.

Requires: Kapso setup + Meta Business template approval (human step).
Bia (Human Data) replied to a question with a question and got "strong fit". We need per-campaign strictness control (Lenient / Standard / Strict). How strict should the default be?

Context: Off-topic detection was already hardened on Apr 14 (dismissive answers now caught, short ambiguous answers go to GPT). This is the next layer: scoring quality, not detection.
Bia suggested limiting answers to multiple choice for high-volume screening. Reduces blocking risk, feels more honest. Tradeoff: lose open-ended depth. Worth building as an option?
Should Sophie introduce herself as AI in the very first message, not just when off-topic detected? Bia's point: candidates get more frustrated discovering it's AI mid-conversation than knowing upfront.

Context: Off-topic redirect messages are now customizable per org (shipped Apr 14), so adding an AI disclosure to the intro message is a template change, not a code change.
Check-ins page shows error for orgs not using it. Quick fix: hide from sidebar nav or show a "coming soon" state. Half a session max.
Per-campaign cost breakdown showing GPT calls, tokens, cost by provider. Data already exists in inference_logs table. Just needs a UI.
Copy a campaign (name, job title, questions) into a new draft. For repeat hires or reusing the same screening on a different audience.
Detect candidate language from phone country code instead of requiring manual selection per campaign. Currently supports EN/ES/PT.
Three internal docs with overlapping content. Merge into one source of truth or define clear boundaries so each stays fresh.
Recent updates
  • Customizable message templates -- Orgs can now customize the off-topic redirect message and opt-out response in Settings > WhatsApp (EN/ES/PT). Variables: {company_name}, {question}.
  • Mid-interview opt-out -- "stop" / "no me interesa" during active interviews now triggers opt-out. Before, only worked during consent phase.
  • Off-topic detection hardened -- Dismissive answers like "what do u want", "why?", "leave me alone" now caught. Short ambiguous answers (5-50 chars) go to GPT instead of defaulting to "on-topic".
  • 5 UX fixes -- Live send progress counter, welcome message in transcript drawer, delivery badge fix, pause/resume cleanup.
  • Sentry + Telegram error alerts -- Production errors now fire to Telegram automatically.
  • Import page redesign -- 3 visible tabs (Manual/CSV/Google Sheets), drag-and-drop, confirmation modal.
  • 365 unit tests passing, E2E 5/6 PASS tests
  • Bia (Human Data) actively testing -- First design partner giving real stress-test feedback. Offered to run a campaign together.
  • WAHA OOM incident fixed, 5 monitoring scripts deployed on production server.
  • Activities page redesign (12 fixes, 33 unit tests).
  • CSV upload UX redesign.
  • Sophie onboarding chat rewritten with real FAQ.
  • Pause/resume campaigns + individual candidates shipped.
  • 7 API routes fixed (were using RLS client instead of admin).
  • 202 unit tests at this point.
  • Webhook refactor: 681-line file split into 12 modules.
  • HMAC webhook auth added.
  • Phone country code validation shipped.