Inspiration

I wanted to make an active game that families could play using a TV and a phone they already own. JabTempo TV turns a short break into a rhythm boxing challenge without requiring a wearable or extra controller.

What it does

Blue circles mean LEFT; orange squares mean RIGHT. Players punch with the matching hand when a note reaches the white timing line, then return to guard. The round starts with widely spaced notes and gradually builds its rhythm. A hand guide and calibration help players get started. The TV gives timing feedback and ends with a summary and suggested next practice focus. Family Challenge lets people take turns on the same chart and pace.

A phone browser processes its camera locally and sends pose landmarks and game events through a local relay. Raw camera video is not streamed to the TV.

How I built it

The TV app uses React Native, Expo and TypeScript, following the Fire TV configuration pattern in Amazon's multi-TV sample. MediaPipe runs pose inference in the phone browser. Game logic creates the note chart and scores punches against the playback clock. I also created a separate MIT-licensed project, tv-pose-bridge, for pairing, message validation, reconnection and clock utilities.

Challenges and what I learned

The hardest parts were making LEFT and RIGHT clear, keeping notes visible after misses, starting at a comfortable pace, and making TV remote navigation work. Testing the installed app in an Android TV emulator caught layout problems that browser previews missed. I learned to test native screens and the phone connection separately.

What I am proud of

The installed emulator app completes a full round and shows scoring and a useful summary. The public demo shows this software flow with a clearly labelled simulated controller. I have also played JabTempo TV with friends and found the informal experience impressive. Those sessions are not shown in the video and are not presented as measured accuracy results.

What's next

I want to document structured first-time-player tests, measure performance during real iPhone play, test on a physical Fire TV, and make the local setup simpler.

Built With

Share this project:

Updates

Submission history