Celero

AI-powered physical therapy platform that guides patients through recovery exercises with real-time pose tracking, voice coaching, and progress insights for clinicians.


Inspiration

In South Africa's public healthcare system — which serves 82% of the population — there are only 2.5 physiotherapists per 100,000 people. In private, insurance- funded care, that number jumps to 53 per 100,000. That is a 20x gap, drawn entirely along economic lines.

Countries like Malawi, Tanzania, and Cameroon have fewer than 100 physiotherapists in the entire country. When a patient in a public hospital needs rehabilitation after a knee replacement or a sports injury, the wait is long, the sessions are short, and when they go home — they are completely on their own.

Globally, 76% of patients skip their prescribed at-home exercises. In Africa, where the barriers go beyond motivation — transport costs, distance, long waiting times, limited equipment — that number is almost certainly higher.

Musculoskeletal conditions are not a rich-world problem. They account for 0.65% of sub-Saharan Africa's GDP in direct costs alone, and the burden is growing. The difference is that in Africa, there is no safety net when recovery fails.

I built Celero because the patients who need the most support are the ones with the least access to it. And an AI that can watch you exercise, coach you by voice, and answer your questions at 10pm costs nothing to deploy once it exists.


What it does

Celero is a recovery platform for physical therapy patients and the clinicians who care for them — built specifically with the African healthcare access gap in mind.

Patients open the app, point their phone or laptop camera at themselves, and their AI coach Tendo guides them through every rep in real time — tracking joint angles, scoring form on every movement, and speaking coaching cues aloud through their speaker. No wearable. No equipment. Just a camera and an internet connection.

Between sessions, Coach Tendo — powered by Claude — answers questions about the recovery with full knowledge of that patient's history, pain levels, range of motion, and streak. "Should I be feeling this tightness at week 6?" gets a real answer, not a generic one.

Clinicians get a dashboard showing every patient's adherence, form scores, pain trends, and session records — so a 15-minute consultation is informed by weeks of real data instead of a patient's memory of what they did at home.


How I built it

Celero is built as a monorepo with a Next.js 16 frontend and a Bun-powered Express API sharing a Supabase PostgreSQL database.

Claude sits at the heart of the product in three places: coaching patients through each rep with real-time AI feedback, writing personalised post-session summaries, and powering the Coach Tendo chat where patients ask anything about their recovery. Every response is grounded in that patient's actual data — their condition, ROM trend, streak, and session history — so the advice is never generic.

Voice coaching is delivered through ElevenLabs with audio pre-cached before each session so cues fire with zero latency during reps. Pose detection runs entirely in the browser using MediaPipe Pose over WebAssembly at 30fps — no video ever leaves the patient's device.

The app is deployed with the frontend on Vercel and the API in a Docker container, designed to be affordable to run and accessible from any device with a browser.


Challenges I ran into

Getting Claude's coaching to feel personal rather than generic was the hardest problem. Early versions gave advice that could have applied to anyone. The breakthrough came from injecting the patient's full recovery context into every prompt — their specific condition, which week they are in, their last ROM reading, their streak, their recent pain scores. Once Claude had that, the responses shifted from "keep up the good work" to something that genuinely felt like it came from someone paying attention.

Voice latency was the other major challenge. Coaching cues need to fire the moment a rep state changes — a half-second delay breaks the rhythm entirely. The solution was pre-fetching all 14 static coaching phrases as audio before the session starts, decoding them into AudioBuffers after the first user interaction, and serving them instantly from memory when each cue fires.


Accomplishments that I'm proud of

The moment I did my first squat with Tendo coaching me through it by voice, and then asked it why my knee felt stiff that morning and got back a response that referenced my last three sessions — that felt like something real and useful.

I am also proud that both sides of the product genuinely work. A clinician can log in, see which patients showed up this week, open a patient's full session record, and enroll them in a new program in under two minutes. The data is real, the gap it addresses is real, and the technology to close it already exists — it just needed to be assembled.


What I learned

Claude is most powerful when it has context. A generic "you are a helpful physio assistant" system prompt produces polite but forgettable responses. A prompt that includes this patient's name, their specific condition, their ROM from yesterday, and their 6-day streak produces something a patient might actually act on.

I also learned that in low-resource contexts, constraints are a feature. The fact that Celero requires nothing except a camera and a browser — no wearables, no expensive equipment, no clinic visit — is not a limitation. It is the point. Technology that only works for patients who already have access is not solving the problem.


What's next for Celero

The immediate next step is a mobile app so patients in Sub-Saharan Africa can use Celero on the Android phones they already have, without needing a laptop.

Beyond that — a low-bandwidth mode for areas with limited connectivity, offline caching of coaching cues, and WhatsApp integration so clinicians can reach patients through the channel they already use daily.

The longer vision is a network where a physiotherapist in Harare, Nairobi, or Lagos can manage a full patient caseload digitally — with AI handling the between-session coaching, the data collection, and the progress summaries — so one clinician can meaningfully support ten times as many patients as they could working alone.

The 20x gap in physiotherapist access is a resource problem. But it is also a distribution problem. And distribution is something software can fix.


Sources

Built With

  • nextjs
Share this project:

Updates