372 lines
15 KiB
Markdown
372 lines
15 KiB
Markdown
# CLINERA — Deep Problem Analysis & System Design
|
|
|
|
## The Problem: 97% Lead Loss in Aesthetic Clinics
|
|
|
|
A clinic spends $5,000-$15,000/month on Instagram and Google ads.
|
|
300 leads come in. 8-10 patients actually show up.
|
|
That's not a marketing problem. That's a CONVERSION MASSACRE.
|
|
|
|
---
|
|
|
|
## Where Do Leads Die? (The Kill Chain)
|
|
|
|
```
|
|
300 leads generated
|
|
│
|
|
├─ 120 never get a response (40%) ──── DEAD: Slow response
|
|
│
|
|
├─ 80 get a late response (27%) ────── DEAD: Already booked elsewhere
|
|
│
|
|
├─ 40 respond but don't book (13%) ─── DEAD: Friction in booking process
|
|
│
|
|
├─ 30 book but cancel (10%) ────────── DEAD: Cold feet, no commitment loop
|
|
│
|
|
├─ 20 book but no-show (7%) ────────── DEAD: Forgot, anxiety, low commitment
|
|
│
|
|
└─ 10 actually arrive (3%) ─────────── SURVIVED
|
|
```
|
|
|
|
Each stage has a DIFFERENT psychological cause and a DIFFERENT fix.
|
|
Our system attacks ALL of them through ONE channel: WhatsApp.
|
|
|
|
---
|
|
|
|
## Why WhatsApp?
|
|
|
|
- 98% open rate (vs 20% email)
|
|
- Messages read within 3 minutes (vs 6 hours for email)
|
|
- Feels personal — it's a CONVERSATION, not a notification
|
|
- In KSA/UAE: WhatsApp IS how people communicate with businesses
|
|
- Patients already message clinics on WhatsApp — it's their preferred channel
|
|
- Coming FROM the clinic's own number = trust, recognition, legitimacy
|
|
|
|
---
|
|
|
|
## User Personas — Deep Psychological Profiles
|
|
|
|
### CLINIC SIDE
|
|
|
|
#### 1. Clinic Owner / Investor
|
|
**Who they are:** Entrepreneur or doctor-entrepreneur. Often owns 2-8 branches.
|
|
Thinks in terms of revenue, cost, and ROI. May not be involved in day-to-day.
|
|
|
|
**Psychology:**
|
|
- FEAR: "I'm spending $10K/month on marketing and I can't see the return"
|
|
- DESIRE: Predictable revenue growth without increasing ad spend
|
|
- FRUSTRATION: Knows leads are leaking but doesn't know WHERE or HOW MUCH
|
|
- TRUST BARRIER: "I've been sold 10 CRMs that nobody in my clinic actually uses"
|
|
|
|
**What they need from our system:**
|
|
- Dashboard showing: leads in → patients arrived (THE number)
|
|
- Revenue impact: "This system saved you $X this month"
|
|
- Zero training required for their staff
|
|
- Works WITHOUT changing existing workflows
|
|
|
|
**Interaction with system:** Views dashboard once a week. Wants ONE number.
|
|
|
|
---
|
|
|
|
#### 2. Clinic Manager / Operations Manager
|
|
**Who they are:** The person who actually RUNS the clinic. Manages staff schedules,
|
|
inventory, patient complaints, and somehow also WhatsApp inquiries.
|
|
|
|
**Psychology:**
|
|
- OVERWHELM: Juggling 15 things at once. Another system = another burden
|
|
- GUILT: Knows WhatsApp messages are going unanswered. Feels responsible.
|
|
- SKEPTICISM: "We tried [system X], staff stopped using it after a week"
|
|
- DESIRE: Something that runs ITSELF. Set it and forget it.
|
|
|
|
**What they need from our system:**
|
|
- Setup in under 10 minutes (scan QR + configure)
|
|
- Automatic everything — reminders go out WITHOUT anyone pressing a button
|
|
- Alerts only when something needs human attention (e.g., patient replied with a question)
|
|
- Simple appointment entry (patient name + phone + date + treatment = done)
|
|
|
|
**Interaction with system:** Sets it up once. Adds appointments daily. Checks alerts.
|
|
|
|
---
|
|
|
|
#### 3. Receptionist / Front Desk Coordinator
|
|
**Who they are:** The frontline. Patient in front of them, phone ringing,
|
|
WhatsApp pinging, doctor asking for files. They're the bottleneck.
|
|
|
|
**Psychology:**
|
|
- STRESS: Physically cannot respond to everything simultaneously
|
|
- GUILT: "I saw the message but then a patient walked in and I forgot"
|
|
- DESIRE: Something that handles WhatsApp so they can focus on in-person patients
|
|
- FEAR: "Is this going to replace me?" (It shouldn't — it should HELP them)
|
|
|
|
**What they need from our system:**
|
|
- Auto-responses handle the immediate reply — pressure is OFF
|
|
- They only need to step in for complex questions
|
|
- Simple interface: "Add appointment" = patient name, phone, date, treatment. Done.
|
|
- No learning curve. If it takes more than 2 clicks, they won't use it.
|
|
|
|
**Interaction with system:** Adds appointments. That's it. System does the rest.
|
|
|
|
---
|
|
|
|
### PATIENT SIDE
|
|
|
|
#### 4. The Impulse Inquirer (Hot Lead — 0 to 5 minutes)
|
|
**Who they are:** Scrolling Instagram at 11pm. Saw a Botox ad.
|
|
"Hmm, how much is that?" Clicks. Sends a message.
|
|
|
|
**Psychology:**
|
|
- IMPULSE: Interest is HIGH but fragile. Fades rapidly.
|
|
- IMPATIENCE: If no response in 5 minutes, they message another clinic.
|
|
- COMPARISON: They're messaging 2-4 clinics simultaneously.
|
|
- FIRST RESPONDER WINS: Whoever replies first gets 78% of bookings.
|
|
|
|
**What our system does for them:**
|
|
- Instant acknowledgment (within 30 seconds)
|
|
- Useful information immediately (treatment details, price range)
|
|
- Frictionless booking (here are available slots, pick one)
|
|
|
|
**Critical window:** 0-5 minutes after inquiry. After that, conversion drops 80%.
|
|
|
|
---
|
|
|
|
#### 5. The Booked-But-Anxious Patient (1-7 days before appointment)
|
|
**Who they are:** They booked. But now the anxiety starts.
|
|
"Is it going to hurt? What if I don't like it? That's a lot of money.
|
|
Maybe I should wait. Maybe I'll just not go."
|
|
|
|
**Psychology:**
|
|
- ANXIETY: Increases as appointment approaches. Peaks 24-48 hours before.
|
|
- INFORMATION SEEKING: Googling "does Botox hurt" at 2am
|
|
- COMMITMENT WAVERING: Looking for reasons to cancel
|
|
- SOCIAL VALIDATION: "Has anyone else done this? Did they like it?"
|
|
- PRACTICAL CONCERNS: "Where do I park? How long will it take? What if I'm late?"
|
|
|
|
**What our system does for them:**
|
|
- 3 days before: Educational content about the treatment. Reduces anxiety
|
|
through knowledge. "Here's what to expect step by step."
|
|
- 1 day before: Practical logistics. "Here's the address, parking info,
|
|
arrive 10 min early." Removes friction. Also: "Reply CONFIRM."
|
|
This creates MICRO-COMMITMENT (Cialdini's Commitment & Consistency principle).
|
|
- 2 hours before: Warm, friendly nudge. "See you soon!" with location pin.
|
|
- 30 min before: Final check. "We're ready for you!"
|
|
|
|
The sequence serves THREE purposes:
|
|
1. ANXIETY REDUCTION (education, what to expect)
|
|
2. FRICTION REMOVAL (logistics, directions)
|
|
3. COMMITMENT BUILDING (each reply = stronger commitment)
|
|
|
|
---
|
|
|
|
#### 6. The No-Show (Post-missed-appointment)
|
|
**Who they are:** They didn't come. But most didn't actively DECIDE not to come.
|
|
They just... didn't. Life got in the way. Or anxiety won.
|
|
|
|
**Psychology:**
|
|
- GUILT: "I should have called to cancel. Now it's awkward."
|
|
- AVOIDANCE: Won't reach out to the clinic because they feel embarrassed
|
|
- LOSS AVERSION: They wanted the treatment. They still want it.
|
|
- BARRIER: The awkwardness of rebooking after ghosting
|
|
|
|
**What our system does for them:**
|
|
- 1 hour after: "We missed you today! Everything okay?" — ZERO judgment.
|
|
No guilt. No "you missed your appointment." Just care.
|
|
- Next day: Easy reschedule. "Would you like to rebook? Here are openings."
|
|
Removes the barrier of having to call and explain.
|
|
- 3 days later: Gentle nudge with incentive. "We kept a slot open for you."
|
|
|
|
**Key principle:** Remove the SHAME. Make rebooking feel as natural as the first booking.
|
|
|
|
---
|
|
|
|
#### 7. The Completed Patient (Post-treatment)
|
|
**Who they are:** They came, got treated, left. Now what?
|
|
|
|
**Psychology:**
|
|
- SATISFACTION: If results are good, they're at peak happiness
|
|
- CONCERN: "Is this swelling normal? When will I see results?"
|
|
- RECIPROCITY: If the clinic follows up with care, they feel LOYALTY
|
|
- ADVOCACY: Happy patients refer others — IF prompted
|
|
|
|
**What our system does for them:**
|
|
- Same day: "How are you feeling? Here are aftercare instructions."
|
|
- 3 days: "How's recovery going?" — Shows the clinic CARES beyond the transaction.
|
|
- 2 weeks: "How are your results?" — Captures feedback, prompts review.
|
|
- Treatment-specific recall: "Your Botox refresh is due in ~3 months.
|
|
Shall we book?" — RECURRING REVENUE on autopilot.
|
|
|
|
---
|
|
|
|
## The Reminder Sequence — Bulletproof Design
|
|
|
|
### Appointment Lifecycle with Messages:
|
|
|
|
```
|
|
BOOKING ────────────────────────────────────── APPOINTMENT DAY
|
|
│ │
|
|
│ ① Instant Confirmation │
|
|
│ "Your appointment is confirmed!" │
|
|
│ │
|
|
│ ② 3 Days Before │
|
|
│ "Here's what to expect..." │
|
|
│ │
|
|
│ ③ 1 Day Before │
|
|
│ "Tomorrow at 2pm! Confirm?" │
|
|
│ │
|
|
│ ④ 2 Hours Before │
|
|
│ "See you soon! 📍" │
|
|
│ │
|
|
│ ⑤ 30 Min Before │
|
|
│ "We're ready!" │
|
|
│ │
|
|
│ ARRIVAL
|
|
│ │
|
|
│ ⑥ If No-Show
|
|
│ "Everything ok?"
|
|
│ │
|
|
│ ⑦ Next Day
|
|
│ "Let's reschedule"
|
|
│ │
|
|
│ ⑧ Post-Treatment
|
|
│ "How are you feeling?"
|
|
```
|
|
|
|
### Smart Logic:
|
|
|
|
- If appointment is TOMORROW when booked → skip ② (3-day reminder), send ③ immediately
|
|
- If appointment is TODAY when booked → skip ②③, send ④ at right time
|
|
- If patient replies "CONFIRM" → mark confirmed, skip ⑤ (they're committed)
|
|
- If patient replies "CANCEL" or "RESCHEDULE" → route to receptionist + offer new slots
|
|
- If patient ARRIVES (marked by staff) → skip remaining pre-reminders, queue post-treatment
|
|
- If patient is marked NO-SHOW → trigger ⑥⑦ sequence
|
|
- Messages respect quiet hours (no messages between 10pm-8am, queue for morning)
|
|
|
|
### Message Timing (Relative to Appointment):
|
|
|
|
| # | Trigger | Offset | Purpose |
|
|
|---|---------|--------|---------|
|
|
| ① | On booking | +0 min | Confirmation + commitment |
|
|
| ② | Before appt | -72 hours | Education + anxiety reduction |
|
|
| ③ | Before appt | -24 hours | Logistics + micro-commitment |
|
|
| ④ | Before appt | -2 hours | Warm nudge + location |
|
|
| ⑤ | Before appt | -30 min | Final check |
|
|
| ⑥ | After no-show | +1 hour | Recovery (no guilt) |
|
|
| ⑦ | After no-show | +24 hours | Reschedule offer |
|
|
| ⑧ | After completion | +3 hours | Aftercare + care signal |
|
|
| ⑨ | After completion | +72 hours | Check-in + review ask |
|
|
| ⑩ | After completion | +treatment recall | Recurring booking |
|
|
|
|
---
|
|
|
|
## Conversion Optimization Principles
|
|
|
|
### 1. Speed (Response Time)
|
|
- First response within 60 seconds = 78% higher conversion
|
|
- Auto-reply is NOT a compromise — it's SUPERIOR to a slow human response
|
|
- The auto-reply should feel personal, warm, helpful — not robotic
|
|
|
|
### 2. Commitment Escalation
|
|
- Each touchpoint asks for a micro-commitment
|
|
- "Reply YES to confirm" → patient invests effort → harder to back out
|
|
- Preparation steps ("arrive with clean skin") → they're already preparing
|
|
|
|
### 3. Anxiety Reduction
|
|
- Pre-appointment education removes fear of the unknown
|
|
- "What to expect" messages reduce cancellations by 30-40%
|
|
- Specific details ("takes 20 minutes, minimal discomfort") replace vague fear
|
|
|
|
### 4. Friction Removal
|
|
- Location pin = no "where is it?" excuse
|
|
- Parking instructions = no logistics barrier
|
|
- "Reply 1 to confirm, 2 to reschedule" = one-tap response
|
|
- Rescheduling is as easy as replying with a word
|
|
|
|
### 5. Social Proof & Trust
|
|
- "Dr. [Name] has performed 500+ treatments"
|
|
- Before/after content (if clinic provides it)
|
|
- "98% patient satisfaction" — data builds confidence
|
|
|
|
### 6. Loss Aversion
|
|
- "Your reserved slot" — implies scarcity
|
|
- "We're holding this time for you" — creates ownership
|
|
- Deposit collection (future feature) — financial commitment
|
|
|
|
### 7. Shame Removal (for No-Shows)
|
|
- NEVER say "you missed your appointment"
|
|
- Always say "everything okay?" — lead with CARE
|
|
- Make rebooking frictionless — they shouldn't have to explain
|
|
|
|
### 8. Reciprocity (Post-Treatment)
|
|
- Free aftercare instructions = clinic gives value
|
|
- Follow-up check-in = clinic shows they care
|
|
- Patient feels obligated to return the care (review, referral, rebooking)
|
|
|
|
---
|
|
|
|
## System Architecture
|
|
|
|
### Tech Stack
|
|
- **Frontend:** Next.js (App Router) + Tailwind CSS
|
|
- **Database:** Prisma + SQLite (→ PostgreSQL for production)
|
|
- **WhatsApp:** Waha (self-hosted WhatsApp Web API)
|
|
- **Auth:** Simple session-based (→ NextAuth later)
|
|
- **Background Jobs:** Cron endpoint (→ Bull/Redis later)
|
|
|
|
### Core Entities
|
|
- **Clinic:** name, WhatsApp number, waha session, timezone, settings
|
|
- **User:** clinic staff with roles (owner, manager, receptionist)
|
|
- **Treatment:** name, duration, price, prep instructions, aftercare
|
|
- **Lead:** patient info, source, status, journey timeline
|
|
- **Appointment:** lead + treatment + datetime + status + reminders
|
|
- **ReminderTemplate:** message template + trigger + timing
|
|
- **MessageLog:** every message sent/received with delivery status
|
|
|
|
### Key Flows
|
|
1. **Connect:** Clinic scans QR → Waha session active → WhatsApp connected
|
|
2. **Book:** Staff adds appointment → system calculates all reminder times → queues them
|
|
3. **Remind:** Cron checks every minute → sends due reminders via Waha → logs delivery
|
|
4. **Respond:** Patient replies → Waha webhook → system processes (CONFIRM/CANCEL/question)
|
|
5. **Track:** Dashboard shows funnel: leads → booked → confirmed → arrived → completed
|
|
|
|
### The "Scan. Add. Relax." Promise
|
|
The entire value proposition in 3 words:
|
|
- **Scan:** Connect WhatsApp in 30 seconds
|
|
- **Add:** Enter appointment (name + phone + date + treatment)
|
|
- **Relax:** System handles everything else automatically
|
|
|
|
Staff don't need training. They don't need to learn a new interface.
|
|
They do ONE thing they already do (book appointments) and the system does the rest.
|
|
|
|
---
|
|
|
|
## MVP Scope (What We Build Now)
|
|
|
|
### Must Have (v1.0)
|
|
- [ ] Clinic registration + login
|
|
- [ ] WhatsApp connection via Waha QR code
|
|
- [ ] Treatment management (CRUD)
|
|
- [ ] Lead management (add lead, view leads)
|
|
- [ ] Appointment booking (lead + treatment + datetime)
|
|
- [ ] Automatic reminder sequence (all 10 messages)
|
|
- [ ] Smart timing logic (skip reminders that don't apply)
|
|
- [ ] Quiet hours (no messages 10pm-8am)
|
|
- [ ] Patient reply handling (CONFIRM / CANCEL detection)
|
|
- [ ] Appointment status tracking (scheduled → confirmed → arrived → completed / no-show)
|
|
- [ ] Dashboard: conversion funnel + key metrics
|
|
- [ ] Message log (see every message sent)
|
|
|
|
### Nice to Have (v1.1)
|
|
- [ ] Multiple staff accounts per clinic
|
|
- [ ] Lead capture form (embeddable on clinic website)
|
|
- [ ] Incoming WhatsApp message handling (new leads auto-created)
|
|
- [ ] Calendar view for appointments
|
|
- [ ] Custom message templates (clinic can edit wording)
|
|
- [ ] Arabic language support for messages
|
|
- [ ] Multi-branch support
|
|
|
|
### Future (v2.0)
|
|
- [ ] AI-powered response to patient questions
|
|
- [ ] Automated booking via WhatsApp conversation
|
|
- [ ] Integration with booking systems (Fresha, Booksy, etc.)
|
|
- [ ] Treatment recall automation (Botox every 3 months, etc.)
|
|
- [ ] Patient satisfaction scoring
|
|
- [ ] Revenue attribution per lead source
|
|
- [ ] White-label option
|