Inspiration
According to recent studies, back and neck pain is found in 50-60% of people with desk jobs. While we're focused on working, we often don't remember to sit up, take breaks, and stretch.
We wanted a coach that works any device, nudges you when you're slouching, and gets you to actually stretch.
What it does
Hunch is a posture coach that runs on your browser. When in use, it'll notice the problem, fix it, and keep the habit.
- A posture scan. You sit up tall facing your screen, and that becomes your personal baseline. Every judgement after that compares you with yourself. You set your own preferences, and Gemini will build a starter plan of stretches from our library.
- Work mode. A small window floats over whatever you're working on and keeps watching your posture. It'll track your habits and continue to personalize your stretch plan according to your posture.
- Guided stretch session. A voice coach talks you through each stretch while an on-screen skeleton shows your form. The timer will only count down when you're really in position.
How we built it
React + Vite, MediaPipe pose detection running in the browser, Gemini for plans and recaps, ElevenLabs for the voice, all on DeepSpace.
We first divided the workload into 2 halves (app & computer vision). Halfway through the development, we swapped tasks to allow each other to work on different components of the project.
DeepSpace Usage Explanation
Hunch is built on DeepSpace and runs at hunch.app.space. DeepSpace handles everything except the camera.
- Server: our /api/coach routes run on DeepSpace’s Cloudflare Worker. They call Gemini for the stretch plan, session intro and recap, and ElevenLabs for the voice. The browser never talks to either API directly.
- Secrets: our Gemini and ElevenLabs keys live in DeepSpace’s secrets store, so they never reach the browser.
- Auth: sign-in is optional, so anyone can try the whole app without an account. Signing in unlocks the ElevenLabs voice for the intro and recap and keeps your data across devices. Guests get a per-IP limit on the Gemini routes so nobody can burn through our keys.
- Data: each user’s posture baseline, stretch plan and session history are saved in DeepSpace collections. DeepSpace’s server permissions make sure each user can only read and write their own records. We only store numbers, never video. The camera tracking runs entirely in the browser, so your video never leaves your computer.
Challenges we ran into
- Using computer vision for the first time
- Chrome pauses background tabs, so we ran posture detection from a PiP to maintain posture detection
- Dividing the workload between 2 team members
Accomplishments that we're proud of
We built a functioning product :D
What we learned
- Planning skills
- Work delegation
- Design and UI/UX since we didn't have designers
What's next for Hunch
- Add more stretches to our library
- Track posture habit progress over time
- Add different angles for calibration
- Gamify our system
Built With
- deepspace
- elevenlabs
- gemini
- mediapipe
- react
- typescript
- vite
