-
-
“Can code judge your walk?”, your pitch line, sponsors, and the glowing skeleton
-
A runway judge that runs in your browser
-
Two minutes, three steps, any camera
-
26 body points tracked live as you walk
-
A score out of 100, and Gemini’s verdict
-
70 measured, 30 opinion, every point explained
-
A live leaderboard, stored in Tiger Data
-
Every walker gets an edit of their walk
Inspiration
We started the way most teams do: a whiteboard full of ideas and a quick look through what usually gets built at hackathons. Most of it blurred together: another chatbot, another dashboard, another wrapper around an API. We wanted something nobody else in the room would build. We explored a few directions, including crypto-based booking, before landing on the pairing that excited us most: computer vision + AI.
From there the question almost asked itself: can code judge a runway walk? Everyone has a walk, nobody knows how good it is, and a runway is one of the few places where how you move is the whole point. That became RunwayLab.
What it does
You stand in front of any camera, walk toward it, turn, and walk back, two or three times. In about two minutes you get a score out of 100:
| Part | Points | Who decides |
|---|---|---|
| Foot placement, posture, rhythm, line, head, arms, turn | 70 | Measured by the code |
| Presence and style | 30 | Gemini's opinion |
Gemini sees a dozen stills with your face pixelated, rates your presence and style, and names the famous walk closest to yours. The code adds up the total; the judge never gets to state the score. If you choose to, you post your score and skeleton to the wall, a live leaderboard of everyone who walked.
How we built it
- Pose tracking in the browser. RTMPose (26 body landmarks) and a person detector run through ONNX Runtime Web on WebGPU, with MediaPipe Pose Landmarker as a fallback. Your video is recorded and analysed on your device and never uploaded.
- Scoring that's fair to every body. Every length is a share of your own height, measured while you stand still for a moment, so frame and build don't matter. Foot placement, for example, is \( d = \frac{|x_L - x_R|}{h} \times 100 \) percent of your height. Standing still also measures how much the camera and tracker wobble on their own, and that noise is subtracted from your walk. Anything the camera can't see (long hair, a gown, a head covering) is left out of the score, never marked down.
- Rules grounded in research. No study sets targets for a runway walk, so we based ours on published gait research and checked them against real footage of professional models in a Milan show versus everyday walkers.
- Gemini as the judge. The serverless backend sends only pixelated stills and the measurements, and falls back through a chain of Gemini models when one is busy.
- Tiger Data for the wall. Walks live in TimescaleDB on Tiger Data, with hypertables, compression and a continuous aggregate behind the leaderboard stats.
- Auth0 for posting. Sign-in is only needed to post to the wall, and it asks for a name, not an email.
- Plain web, strict privacy. Vanilla ES modules on Vercel, no framework, no build step, and a Content Security Policy that only lets the page talk to its own server.
Challenges we ran into
- Making a score people trust. A number out of 100 invites arguments, so every line on the result has a "Why this score" fold with the measurement behind it.
- Fairness. Our first rules quietly favoured certain body types. Measuring everything as a share of your own height, and comparing you against your own standing pose, fixed that.
- Noisy trackers. Webcam pose estimation jitters, so the calibration moment and noise subtraction took several rounds to get right.
- Gemini's limits. Quotas and the occasional unreadable answer meant building fallbacks, retries and an honest "no judgment this time" state.
- Real-world floors. Walkers kept drifting out of frame, so the studio draws live start and turn marks once it sees you.
What we learned
- How far in-browser ML has come: WebGPU makes real pose models practical without a server.
- That "fair" has to be designed in from the start, not patched in later.
- How to make an AI judge useful while keeping it in its lane: opinion, never arithmetic.
What's next for RunwayLab
- Side-on camera support to measure stride and forward lean.
- Head-to-head "walk-offs" between friends.
- Coaching mode: one habit to fix per walk, with progress over time.
Built With
- auth0
- computer-vision
- google-gemini
- html5
- javascript
- mediapipe
- pose-estimation
- postgresql
- tiger-data
- timescaledb
- vercel