Inspiration

Over 14 million US adults 65+, about 1 in 4, report a fall every year (CDC). A Cochrane review of 39 trials found balance and functional exercise reduces the rate of falls by 24%. But coached home exercise is expensive: a Tonal costs $4,295 plus $59.95/month, and Peloton's $295 TV camera stopped selling in 2025. The hardware was the barrier. Almost everyone already owns a phone and a TV.

What it does

  • The Fire TV app coaches a 10-minute, chair-supported session with five moves: sit to stand, heel raises, side leg raises, marching and a tandem hold.
  • The phone is the camera. Pose tracking (MediaPipe) runs on the phone, and only 33 body points are sent. Video never leaves the phone.
  • The TV draws a live stick figure, counts reps in big numbers, and gives one short cue ("Keep knees over toes").
  • No typing on the TV. Pair by QR code or a 6-digit number.
  • A family page shows the week, the streak and the last session. "Move together" puts two people side by side.
  • An AI weekly plan (Claude on Amazon Bedrock) adjusts targets. Code caps every change at ±2 reps.

How I built it

Kotlin + Jetpack Compose for TV (Fire OS, minSdk 28, no Google services). Phone page: Vite + TypeScript + MediaPipe. A pure TypeScript rep engine, unit-tested on fixtures. AWS: API Gateway WebSocket, Lambda, DynamoDB and Bedrock, deployed with CDK. Median phone-to-TV latency was about 70 ms in my measured runs.

Challenges

  • Counting reps reliably from a phone propped at any angle.
  • Vega SDK doesn't support WSL, so I built for Fire OS instead.
  • The emulator has no speech engine, so every spoken cue is also shown on screen.

What's next

Testing with real older adults, the Amazon Appstore, and real Fire TV hardware.

Safety: chair-supported moves only, a "check with your doctor" screen, and no medical or fall-detection claims.

Demo runs on the Android TV Emulator, which the FAQ accepts. My GitHub account is temporarily restricted, so the code is hosted on a friend's public account: https://github.com/ma0766/steadyup. All code is mine.

Built With

  • amazon-api-gateway
  • amazon-bedrock
  • amazon-dynamodb
  • android-tv
  • aws-cdk
  • aws-lambda
  • fire-os
  • jetpack-compose
  • kotlin
  • mediapipe
  • typescript
  • vite
Share this project:

Updates

Submission history