Inspiration
Your TV should help you build a workout not just watch one.
Fitness videos are easy to find but they rarely adapt to the time, equipment and experience of the person watching. Following them can also mean switching between a television, a phone and a separate timer.
We created FormFit TV to bring those steps together: choose what works for you, generate a workout and follow it using only your television remote.
Your workout. Your remote. Your pace.
What it does
FormFit TV turns workout preferences into a guided TV-first experience.
- Build your plan: a ten-step builder covers goals, experience, duration, equipment, workout style, body focus, movement position, recovery and exercises to exclude.
- Understand each choice: readable cards explain how an option affects the workout.
- Follow the session: exercise timers, sets, rest periods and transitions run locally with remote controls for pause, resume and skip.
- Revisit your workouts: generated plans and completed sessions appear in one Recent Sessions list, with clear status labels.
- Start without an account: a persistent guest TV installation ID groups that installation’s cloud records.
The interface distinguishes focus from selection: a glow shows where the remote is pointing, while a checkmark shows the chosen option.
How we built it
We extended the Amazon React Native Multi-TV sample, preserving its workspace structure and separate Vega application while adding the FormFit fitness journey.
The implementation separates three responsibilities:
- TV interface: React Native TV, TypeScript, shared cards and spatial navigation.
- Workout logic: preference validation, exercise selection, session progression and timing.
- Data access: local repositories and cloud service adapters.
The cloud request flow is:
FormFit TV → Amazon API Gateway → AWS Lambda → Amazon DynamoDB
Lambda validates preferences and builds workouts from a structured exercise catalogue. DynamoDB stores generated plans, completion records and history. IAM provides backend permissions, while CloudWatch Logs supports diagnostics.
Workout execution stays on the TV. The timer does not require a network request for every transition. Recoverable planning failures or a ten-second deadline trigger local generation with a visible notice.
Guest TV IDs provide installation-based grouping—not authenticated account security.
Challenges we ran into
A television remote changes how an interface must behave.
A screen that looks attractive can still be frustrating if focus jumps unexpectedly, selected cards resemble focused cards or important controls sit outside the visible area. We refined navigation order, scrolling, card layouts and confirmation behavior through repeated testing.
We also had to keep preferences consistent across the entire planning flow. We traced selections through outgoing requests and returned plans, then added regression coverage for customized configurations.
Another challenge was Bedrock availability. Model quota restrictions prevented reliable invocation, so we replaced that dependency with deterministic planning rules in Lambda.
The submitted planner is rule-based; it does not claim AI-generated coaching.
Finally, we clarified the difference between generating a plan and completing a workout: both appear in history, but only completed sessions contribute to completion statistics.
Accomplishments that we're proud of
We turned a multi-TV sample into a connected fitness workflow.
- Built a complete journey from customization to guided exercise and progress.
- Connected real AWS requests to Lambda planning and DynamoDB persistence.
- Created a remote-first builder with explanatory cards and reversible selections.
- Made generated workouts persistent and available to reopen.
- Kept session timing local and added explicit recovery for cloud planning failures.
- Added regression tests for planning, persistence, navigation and guest data partitioning.
The result is a prototype whose interface, workout rules and cloud integration work together rather than existing only as separate demonstrations.
What we learned
Building for TV means designing around attention, distance and a few directional buttons.
We learned that predictable focus and readable explanations matter as much as visual polish. We also learned to separate plan creation from session execution, and generated activity from completed activity.
On the engineering side, the project reinforced three lessons:
- Verify the integration: diagrams are useful, but actual requests, responses and stored records prove behavior.
- Design for failure: network availability should not control every moment of an active workout.
- Test at multiple levels: automated checks protect logic, while emulator and device testing reveal interaction problems.
We also learned the limits of guest identifiers: they simplify onboarding, but stronger data ownership requires authentication.
What's next for FormFit TV
The next step is making the experience more personal and dependable.
We plan to add:
- Authenticated profiles and secure synchronization across TVs.
- Separate household profiles on shared televisions.
- A broader, reviewed exercise catalogue.
- Persistent background retries for interrupted cloud saves.
- Wider testing across TV devices and runtimes.
FormFit TV explores a simple idea: make the screen already in your living room an interactive place to plan, follow and revisit your workouts.
Built With
- amazon-api-gateway
- amazon-cloudwatch
- amazon-dynamodb
- android-tv
- aws-iam
- aws-lambda
- expo.io
- github
- javascript
- jest
- node.js
- react
- react-native
- react-native-tv
- react-navigation
- typescript
- yarn-workspaces
Log in or sign up for Devpost to join the conversation.