OuterPractice is a local-first browser tool that observes a musician's body during practice using pose tracking, facial-tension detection, and ambient audio analysis.
An outside observer for the way your body practices.
OuterPractice tracks posture, facial tension, and audio timing at sixty frames per second — and gives you a calm, scrollable timeline afterward. No cloud. No account. Nothing leaves your browser.


"At 14:23 your shoulders rose briefly — right as the passage sped up. It resolved on its own within two seconds. Often a sign the tempo is just a touch too high to stay relaxed."
— Sample observation · session timeline
A teacher's eye, between the lessons.
Your camera and microphone become observers — not recorders. The tool watches your posture, face, and the timing of your playing at sixty frames per second. Afterwards, you get a calm, clickable timeline of what happened.
Pose
MediaPipe landmarks track your shoulder line, head drift, and torso angle in real time. Per-second deltas are stored; raw video frames are never written to disk.
Face
Jaw clench, brow tension, and blink rate are extracted from the face mesh — as numbers, never pixels. These often track emotional engagement and concentration in ways posture alone misses.
Timing & audio
A dedicated audio worker catches onset events, dynamic shifts, and the moments where rhythm starts to fragment — all processed in real time and discarded immediately. Only the timestamp and a feature value survive.
The timeline
After the session, every metric appears as a continuous curve. Click any event marker for a one-sentence observation — not a score or a grade, just a calm description of what the data shows at that second.
Baseline & fingerprint
A long-term exponential moving average tracks your personal tension baseline across sessions. The Practice licence turns this into a tension fingerprint — your pattern, compared only to your earlier self.
Instrument profiles
Five profiles — drums, piano, guitar, violin, voice — with per-instrument feature weighting. The tool knows a drummer's forward lean is different from a violinist's shoulder raise.



Every session starts the same calm way.
Choose how you're using it, check in with how you feel, then start when you're ready. The first thirty seconds are always quiet — the tool just measures your resting state.



Like a teacher who watches without judging.
No streaks, no badges, no exclamation marks, no score out of a hundred. Just observations — locating the moment, describing what happened, leaving the meaning to you.
What we never sound like
- Great session! 🔥 28-minute streak unlocked!
- ⚠️ Shoulder tension detected 34 times — try to stay more relaxed.
- Score: 67/100. Your timing was inconsistent. Work on this.
- Tip: breathe through the difficult passages.
What we sound like instead
- "Between minute 7 and 12, your shoulders stayed notably quiet — the longest calm stretch in this session."
- "A brief shoulder rise at 14:23, right as the passage sped up. It resolved on its own within two seconds."
- "The jaw and shoulder patterns track each other closely here. Both quieted around the same time."
- "Thirty minutes without any standout tension peaks. That is itself something to notice."
Nothing leaves your device.
No accounts, no cloud, no per-visitor tracking. Inside the app, the only network call OuterPractice makes is fetching the pose model on first load — then it goes silent. (These marketing pages keep a cookieless, anonymous page count — nothing personal.) Open your browser's network panel and verify it yourself.
What is stored, locally
- Per-second derived features: shoulder & head deltas, jaw clench, blink rate, audio metrics
- Composite tension scores and visibility confidence
- Session metadata, your long-term baseline (EMA), detected events
- Instrument profile settings and calibration data
- Teacher comments — yours, and any teacher's — when you opt into the lesson loop
What is never stored
- Raw video frames — never recorded, never persisted
- Raw audio samples — live-processed, immediately discarded
- Pose & face mesh coordinates — only the derived deltas survive
- Your identity, IP address, or device fingerprint
- Per-visitor telemetry, tracking, crash reports — none. Ever.
A bridge for between-lesson coaching.
Your student practises at home. They export a session file — a small JSON, no video, no audio — and send it to you. You import it, scrub the timeline, drop timestamped comments on the moments that matter, and send it back. The whole loop is asynchronous. No server, no accounts.
Teacher licence — one-time, works forever
Unlimited imported student sessions, persistent session library, full annotate & send-back loop. Pairs with any student on the free tier.
Honest, simple, nothing locked behind a wall.
The core practice loop is free, forever. Deeper insight costs once — not monthly. No subscription, no cloud lock-in, no recurring bill.
- Unlimited local sessions
- Full live session with skeleton overlay
- Post-session timeline with event markers
- Five instrument profiles
- Export all your data as JSON
- Up to 3 imported teacher-annotated sessions
- Everything in Solo
- Tension fingerprint across all sessions
- Long-term baseline (EMA) tracking
- Richer live cues during sessions
- Trends & passages view as they ship
- 30-day money-back guarantee
- Everything in Practice
- Unlimited imported student sessions
- Annotate timeline with timestamped comments
- Send annotated sessions back to students
- Persistent session library
- Demo session always available
Things people actually ask.
If yours isn't here, write us at hi@outerpractice.app. We answer real email.
What exactly does OuterPractice track?
Posture (shoulder line, head drift, torso angle), facial tension (jaw clench, brow, blink rate), and ambient audio (onset timing, dynamic events). Everything runs locally — only per-second feature numbers are stored, never raw frames or audio samples.
Does it record video or audio?
No. The camera feed and microphone are processed live and immediately discarded. Pose landmarks and audio features are extracted in real time; the underlying media never touches disk or leaves the browser tab.
How does the timeline work?
After each session you get a scrollable timeline: a continuous curve per metric (shoulder, jaw, head, audio) plus a row of event markers. Click any marker for a one-sentence observation about what happened at that second — not a score, just a description.
What is the tension fingerprint?
The Practice licence builds a long-term baseline (an exponential moving average across all your sessions). Over time you see whether your resting tension level is shifting — without any comparison to other players, only to your own earlier self.
Does it work behind a drum kit?
Phase-0 testing showed 100% landmark visibility on a laptop in normal lighting with a drum kit in frame. Real-instrument tests are ongoing for kit, piano, guitar, and voice — results are shared on the roadmap, openly.
Can it replace a teacher?
No — and it isn't trying to. A good teacher brings context, repertoire, and a human relationship that this tool can't replicate. OuterPractice is for the hours between lessons, when nobody is watching and small habits form quietly.
How does teacher mode work?
The student exports a session file (a small JSON — no video, no audio) and sends it to the teacher. The teacher imports it, scrubs the timeline, drops timestamped comments on the moments that matter, and sends the annotated file back. The whole loop is asynchronous and requires no accounts or server.
Where is my data stored?
In your browser's IndexedDB. There is no server, no sync, no cloud backup. OuterPractice cannot see your data because it never reaches us. You can export every byte as JSON or wipe it all in one tap.
Is it free?
The core practice loop — live session, timeline, instrument profiles — is free forever. The Practice licence (€29 once) adds the tension fingerprint and richer live cues. The Teacher licence (€149 once) unlocks the full import, annotate, and send-back loop.
Open the tool. Sit at your instrument. Press start.
The first thirty seconds are quiet. Then it just watches.