TL;DR
We built an AI-powered analysis pipeline that filters Phorest's Outreach Kaia call archive down to medi-aesthetic prospects in the UK and Republic of Ireland, uses Claude AI to classify each call by country and extract structured insights (current software, features wanted, issues, decision stage, regulatory signals), and synthesizes the results into two written sales-intelligence briefings plus a single-file interactive editorial dashboard. 98 verified transcripts processed end-to-end (filtered from 740 medi-aesthetic calls globally) for ~$8 in API spend, runtime under 10 minutes.
The Problem
Phorest sales and leadership teams had no consolidated, country-segmented view of what UK and Irish medi-aesthetic clinics actually want, who they're switching from, or what's blocking their deals. Hundreds of demo recordings sit in Kaia full of competitive intelligence, but nobody has time to listen to them all.
- 1M+ rows in the Kaia archive, only ~740 of which were medi-aesthetic
- Country isn't tagged in Outreach metadata, and many Phorest reps are Dublin-based with Irish accents, which fools naïve classification
- UK and Ireland have distinct regulatory and competitive contexts (Pabau, Booksy, Fresha, ANS; June 2025 GMC prescribing rules; HSE prescriber/injector split in Ireland)
- Manual review is impossible at scale, reading the 740 medi-aesthetic transcripts alone would take weeks
- Findings needed to be drillable, exec leadership wants headline themes; sales reps need the actual client quotes
The Solution: Five-Stage Pipeline
Stage 1, Filter
Regex pass over the 224 MB Kaia CSV. Strong signals (medi-aesthetic, med spa, injectable, botox, dermal filler) and weak signals (multiple procedure terms + medical context).
Output: medi-aesthetic-transcripts.csv, 740 transcripts globally with title, date, duration, participants, matched terms, match strength.
Stage 2, Country Classification (Claude Haiku 4.5)
For each of the 740 transcripts, sends the title plus the first 4,000 characters to Claude Haiku 4.5 with a strict classification prompt. Returns JSON: {country, confidence, evidence}.
Ignore rep accent and rep nationality. Only customer-side evidence counts, customer-stated city, currency (£ / € / $), regulators (NHS, CQC, JCCP, NMC, HPRA, HSE), customer-side .co.uk / .ie domains.
12 parallel API calls; a recovery pass re-runs "unknown" classifications with 12,000 characters of context, recovering 23 more genuine UK/IE matches. Total cost: ~$0.10.
Stage 3, Insight Extraction (Claude Sonnet 4.6)
For each UK/IE candidate, sends the full transcript (up to 80,000 characters) to Claude Sonnet 4.6. The schema captures verified country, business name and type, clinic size, channel, current software, issues, features wanted, medi-aesthetic specifics, decision stage, objections, and notable quotes.
The verification field caught false positives the Haiku classifier missed, of 24 "presumed IE" classifications, only 11 verified as actually Irish customer-side. Final verified counts: 87 UK · 11 IE.
Stage 4, Synthesis (Claude Sonnet 4.6)
Aggregates the structured per-transcript JSON into per-region counts and sends aggregates + per-row metadata to Sonnet with an analyst-briefing prompt. Output: two long-form Markdown reports, UK (21 KB) and IE (15 KB), written to be decision-ready for sales leadership, not generic "5 takeaways" content.
Stage 5, Editorial Dashboard
Single-file HTML dashboard. No framework dependencies, custom CSS, Chart.js, Marked.js, all CDN-loaded. Editorial-quarterly aesthetic in Phorest brand colors: Fraunces serif display + Geist body + JetBrains Mono for data labels; deep teal-green and coral on cream paper; hairline rules; numbered sections (I–VII); Fig. references on charts (02.A, 02.B etc.).
Three tabs (UK · Ireland · Compare), headline metric strip, eight custom-themed charts per region, a searchable per-transcript roster with stage filters, and the full synthesized briefing rendered inline with editorial typography. Prints clean for board packs.
Results
| Before | After |
|---|---|
| No segmented view of UK/IE medi-aesthetic prospects | 98 verified transcripts, fully structured per region |
| "I think Pabau is our biggest competitor" (anecdote) | Quantified: Pabau #1 in UK with 13 active defectors |
| Reps unaware of regulatory leverage | June 2025 GMC rules flagged as live sales lever; HSE prescriber/injector split surfaced for Ireland |
| No view of pipeline stage distribution | 13 ready-to-buy in UK, 3 in IE, named businesses, specific blockers |
| Hundreds of recordings unread | All 98 distilled into a drillable dashboard + two briefings |
Headline findings, UK (n = 87)
- Pabau is the #1 competitor to beat. 13 active defectors driven by the Pabau 2 forced migration; £450 photo/form export charge appears repeatedly as both switching cost and grievance.
- Word-of-mouth dominates acquisition, 24 of 34 known-channel prospects. Peer-clinic referrals and former-employee-now-owner pathways are the strongest signals.
- Prescriber/pharmacy workflow is a structural gap (17 transcripts). Material risk under the June 2025 GMC regulations.
- Per-location pricing is the most-cited structural objection across multi-site groups.
- The Pabau 2 forced migration is a golden window, at least 6 prospects mid-evaluation explicitly because of it.
Headline findings, Ireland (n = 11)
- Treatment-plan shareability is a clinical deal-breaker. Med Aesthetics rejected Phorest 2 years ago specifically over this, still unresolved.
- "Hair-and-beauty tool, not clinical-grade" is the persistent positioning challenge against Pabau.
- Sisu Clinic acts as an ambient reference site in Dublin, driving inbound discovery without active marketing.
- Two-monthly Irish VAT cycle creates specific reporting pain, accountant-ready exports a recurring ask.
- Prescriber/remote-consultation workflows tied to HSE-regulated separation between prescribing doctor and injecting nurse, an Irish-specific need.
What We Learned
- Rep accent is the classifier's biggest pitfall. Even with strict prompt engineering, the verification pass re-classified 33% of presumed-IE candidates as UK or US.
- Two-pass classification recovers a lot. A 4,000-character first pass caught the easy ones; a 12,000-character recovery pass on "unknowns" recovered 23 more genuine UK/IE transcripts.
- Treat extraction as analysis AND verification. Adding a
verified_country+country_evidencefield to the extraction prompt caught Haiku's false positives without a separate validation pass. - Editorial design feels more credible than SaaS template. The same data presented as a magazine-quarterly reads as analysis, not a dashboard. The earlier Tailwind-default version with the same numbers felt generic.
- Per-transcript drill-down is the substance. Headline charts are conversation starters; reps and PMs actually act on the per-transcript table with verbatim quotes.
- The dataset has selection bias. Findings reflect prospects who reached the demo stage, calls that didn't qualify, or businesses that never booked, are invisible.
- Sonnet 4.6 + cache-write parallelism is wasteful. Running 98 calls in parallel produced 0 cache reads, staggered calls would meaningfully cut cost on a re-run.
Tech Stack
- Outreach Kaia API, transcript source via a separately deployed Outreach Kaia MCP server (Heroku, bearer-token auth)
- Python 3, pipeline orchestration, regex filtering, aggregation, dashboard generation
- Anthropic Python SDK, Claude API integration with
ThreadPoolExecutorfor parallel calls - Claude Haiku 4.5, country classification (~$0.001 per transcript, concurrency 12)
- Claude Sonnet 4.6, structured insight extraction + narrative synthesis (~$0.06 per transcript)
- Chart.js 4.4 · Marked.js 12 · Google Fonts (Fraunces, Geist, JetBrains Mono)
- No framework, single-file HTML dashboard, ~400 KB, fully portable, prints cleanly