RR
RepRoom Admin
Script management & configuration
← Back to App
🔐
Verifying access…
Checking your session
⚙ Configuration
Claude API
Powers the AI patient simulation and scoring engine.
Not configured
Get API Key ↗
ElevenLabs Voice
Gives the AI patient a realistic speaking voice.
Not configured
Get API Key ↗
🎨 Branding (White Label)
Brand Configuration
Customize RepRoom for your coaching company. Configure via Netlify environment variables.
Branding is configured in your Netlify environment variables and served through the session config endpoint. These fields are read-only and reflect the current live configuration.
Configure via Netlify → Site settings → Environment variables.

📦 Active Module
Module Configuration
Each module is a self-contained coaching environment. The active module is configured server-side. Use the Module Upload section above to update scripts and content.

🏆 Leaderboard & Shoutout
Brad's Weekly Pick
Type a trainee's name below. It will appear on the welcome screen: "Brad's pick this week: [name]". Clear it to remove.
This Week's Leaderboard
Top 10 trainees by XP this week. Full view includes session counts.
XP & Level Stats
Aggregate stats for the active module's trainees (this device).

📋 Script Library
Built-in Scripts
Default placeholder scripts. Replace Day 1 and Day 2 with Brad's exact scripts using the upload section below.
🗣️
Day 1 — New Patient Consultation
Placeholder · 16 lines · Replace with Brad's script
Built-in
📋
Day 2 — Report of Findings & Close
Placeholder · 22 lines · Replace with Brad's script
Built-in
Shituations Library
12 scenarios · Google Doctor, Skeptical Spouse, Price Shopper, and 9 more
Built-in
Load Brad's Scripts
Paste the script text below or upload a JSON file. Use the simple line format or the full JSON format. The uploaded script replaces the placeholder for the selected type.
📁
Drop a JSON or TXT file here, or click to browse
— or paste script text below —
Scripts saved to browser localStorage
Simple Script Format
Use this format when pasting Brad's scripts. Each line starts with a speaker tag.
CONTEXT: Patient is seated in the consultation room.

DOCTOR: Hey [Patient Name], I'm Dr. [Your Name]. Thanks for coming in today.

PATIENT_CUE: Patient responds to greeting.

DOCTOR: So tell me — what's been going on?

PATIENT_CUE: Patient describes their chief complaint.

CONTEXT: Doctor conducts examination.

DOCTOR: I want to get some X-rays before I give you my full picture.
DOCTOR: The doctor's lines — these appear in the script guide panel and are scored.
PATIENT_CUE: Stage directions for the AI patient — tells it what kind of response to generate.
CONTEXT: Scene context visible to the doctor but not "said" aloud.

🎭 Characters (V2)
9 Animated AI Patients
Each character is automatically assigned to their matching scenario. THE CLOWN appears only at Expert difficulty.
Voice Preview — plays a sample of each character's assigned ElevenLabs voice. Requires ELEVENLABS_API_KEY set in Netlify environment variables. Characters use gender-matched voices by default; elderly characters (Harold) use the age-appropriate voice variant.

⚡ Difficulty Reference
Difficulty Level Calibration
How each difficulty level affects AI patient behavior. Calibrated for the RepRoom scoring engine.
Receptive
Starting moodWarm
Objections1–2
Close signalObvious
ForgivenessHigh
Best forDay 1 training
Skeptical
Starting moodGuarded
Objections2–4
Close signalSubtle
ForgivenessMedium
Best forDaily practice
Resistant
Starting moodDefensive
Objections4–6
Close signalHidden
ForgivenessLow
Best forShituations
Expert 🤡
Starting moodHostile
Objections6+
Close signalBuried deep
ForgivenessNone
UnlocksTHE CLOWN
THE CLOWN achievement — Close The Clown 3 times at Expert to unlock the "YOU CLOSED THE CLOWN 🤡" badge and full-screen rainbow confetti explosion. The Clown is a legitimate chiropractic patient (52-year-old circus professional, chronic back pain) who happens to be in full costume.

📦 Module Content Upload
Upload Script or Content File
Upload JSON files to override built-in scripts, Brad-isms, or mental floss lines. Uploaded content is stored server-side and served to all authenticated users instantly.
📄
Click to select a JSON file or drag and drop here

⚠ Reset
Reset Script Library
Clears all custom scripts from browser storage and restores built-in placeholders. This cannot be undone.