Inspiration
The TV is the biggest screen in most homes, but home-workout apps are built for phones. Following a workout on a 6-inch screen propped against a water bottle is awkward, and phone apps are hard to use from a few metres away. We wanted a gym that lives on the TV and is driven entirely by the remote you already hold.
What it does
Pulse Room is a follow-along workout app for Fire TV.
- 853-exercise library. Each exercise has a looping video demo, step-by-step instructions and tags. It's available in English, Spanish, French, German and Portuguese.
- Search and filters. Search with the on-screen keyboard and filter by level, goal, equipment, body part and type (reps or time).
- Follow-along player. The exercise video plays next to a large ring timer with work, rest and get-ready phases. Voice cues and sounds mean you never have to look at the screen, and a boxing bell sounds when you finish.
- Workouts. There are 8 curated workouts. Pro users can also build their own with "Add to workout" from any exercise, and everyone can save favourites.
- Smart Coach. Pick a duration, focus, equipment and level. The coach builds a timed circuit from the library, sized to your minutes and favouring muscles you didn't train in your last sessions.
- Timers. Tabata, EMOM, AMRAP, intervals and stopwatch.
- Onboarding. Four quick questions (goal, level, equipment, time) personalise Home and the coach.
Business model: free download plus a one-time Pro unlock through Amazon In-App Purchasing.
- Free: 45 exercises, 3 workouts, 1 coach plan per day, Tabata and stopwatch.
- Pro: everything.
Locked exercises still show a blurred, moving preview of their video under a lock, so users can see what they would get.
How we built it
- Native Android app in Kotlin with Jetpack Compose, targeting Fire OS 6+.
- One focus component for the remote. Every selectable element shares it: a scale and a white ring when focused. Each screen remembers which item was focused, so Back always returns you to where you were. We replaced Compose's TV "pivot" scrolling with a spec that keeps the focused card fully visible with a margin.
- Player. Built on Media3 ExoPlayer with a 400 MB disk cache. A small state machine drives the phases. The player is published through a
MediaSession, so the remote's media keys control the workout. - Pro preview. The blurred preview is made by Media3's GPU effect pipeline: each frame is shrunk and given a Gaussian blur. Compose's blur needs Android 12, so it couldn't do this on Fire OS.
- Media delivery. The library lives in a private Cloudflare R2 bucket. A small Cloudflare Worker serves it through an R2 binding, with range requests (for video seeking) and edge caching, so no storage credentials ship in the APK.
- Library data. It's exported from our existing exercise database into per-language JSON bundled with the app, so the app opens in about 1.2 s on a Fire TV Stick.
- Billing. Amazon Appstore SDK for the Pro entitlement.
Challenges we ran into
- Focus and scrolling on TV. The default TV scrolling pushed the hero off screen, and the last card in a row ended up flush against the edge. We wrote a custom bring-into-view spec and explicit focus routing for the side navigation rail.
- Video surfaces aren't Compose content. A
SurfaceViewisn't clipped by Compose, and on Fire TV it goes to a hardware video plane whose colours didn't match the UI, so the white clips showed a visible frame. Rendering the player into aTextureViewfixed both, and the blurred Pro preview runs inside the video pipeline itself. - Text input inside dialogs. The Fire TV system keyboard never attached to a text field inside a Compose dialog, so code entry uses the same D-pad keypad as search.
- Media without leaking keys. We first used a signing backend. Moving to a Worker with an R2 binding removed the need for a server and made the app independent of any machine.
Accomplishments that we're proud of
- The whole app is usable with only the D-pad, OK and Back, and focus is never lost.
- An 853-exercise video library feels instant on an entry-level Fire TV Stick.
- A complete product loop: onboarding, personalised home, training, and a paywall wired to Amazon IAP.
What we learned
Designing for the 10-foot experience is mostly about focus: where it starts, where it goes back to, and making it obvious at a glance. Fire TV's Media3 and Appstore SDK integrations made the player and monetisation straightforward once focus was right.
What's next for Pulse Room
- Publish on the Amazon Appstore with the Pro IAP live.
- Household profiles, so each person has their own history and coach.
- Deeper Alexa integration for hands-free control during workouts.
- More languages, and workout programs that span several weeks.
Built With
- amazon-appstore-sdk
- amazon-in-app-purchasing
- android
- cloudflare-r2
- fire-os
- fire-tv

Log in or sign up for Devpost to join the conversation.