-
-
Time to leave: the programme is paused until someone presses OK or taps "I've left".
-
Architecture: Fire TV app + Kotlin overlay, AWS Lambda, DynamoDB, Amazon Nova on Bedrock.
-
Tonight's dinner idea from what should be used up; "We cooked this" uses the ingredients.
-
15 minutes before Ken must leave: DEVELOPING, over whatever is playing.
-
Chores as sports news: GOAL! with the photo proof (checked by Amazon Nova) and the weekly score.
-
The dashboard on a real Fire TV: a photographed school notice just became breaking news.
-
5 minutes out: URGENT, with a live countdown.
Inspiration
A family's day is scattered: school notices on the fridge, chat messages, receipts in a bag, a calendar nobody opens. The one screen everybody actually looks at is the TV. So we asked: what if the TV didn't just show the family's day, but reported it, the way a news channel would?
What it does
- Dashboard. Clock, weather, today's schedule, chores, what food is probably at home, and a one-line "Today's take" written by Amazon Nova.
- Add by photo. Scan the QR code on the TV, photograph a school notice or a grocery receipt. Nova turns notices into events and chores, and receipts into groceries.
- Breaking-news ticker over any app. A Kotlin foreground service draws an L-shaped news ticker on top of whatever is playing. Headlines are written by Nova in news-channel style.
- Departure countdown. For outings, the server works out when to leave (travel time plus a rain margin). 15 minutes before: DEVELOPING. 5 minutes before: URGENT with a live countdown. At the time to leave: WE INTERRUPT THIS PROGRAM. The programme is paused until someone presses OK on the remote or taps "I've left" on their phone, and then it resumes.
- Chores as sports news. Finish a chore from the phone with a photo as proof. Nova checks the photo, and the TV shows a GOAL! ticker with the photo and the week's scoreboard.
- Probably at home. Groceries fade out over their shelf life instead of pretending to be an exact inventory. Nova suggests tonight's dinner from what should be used up.
How we built it
- TV app: React Native (Expo, react-native-tvos), starting from Amazon's react-native-multi-tv-app-sample, running on Fire OS.
- Overlay: a small Kotlin Expo module. A foreground service polls the backend and draws the ticker with
TYPE_APPLICATION_OVERLAY. The interrupt stage takes the remote's focus, pauses other apps with a media key and our own player with a broadcast, and resumes both when dismissed. - Backend: Node.js on AWS Lambda (Function URL) with DynamoDB. The household state is one versioned item written with conditional writes, so a photo from the phone and a tap on the TV never overwrite each other.
- AI: Amazon Nova on Amazon Bedrock through the Converse API. Nova 2 Lite reads photos (notices, receipts, chore evidence). Nova Pro writes the daily comment, dinner ideas and headlines. Answers are cached per fact, so Nova is asked again only when something changes.
- Phone page: a single HTML page served by the backend, opened from the QR code. No app install.
Challenges we ran into
- Fire OS has no settings screen for the "draw over other apps" permission, and a forum answer said overlays are unsupported on Fire TV. We tested it: it works on Fire OS 8.1 after granting the permission over ADB, and the app shows the exact command until it is granted.
- Pausing "whatever is on TV" is harder than it sounds. Other apps respond to media keys, but our own video player has no media session, so it needed its own pause and resume signal.
- The person who must leave taps "I've left" on the phone minutes after the interrupt. The TV has to resume the programme even after the interrupt has given up waiting.
Accomplishments that we're proud of
- A ticker that really interrupts live playback on a real Fire TV Stick 4K Max, and gets out of the way when you respond.
- Turning a boring family dashboard into something the family actually reacts to.
What we learned
- Picking the right Nova for each job matters more than prompt tweaking. Nova Lite skipped the second event on a busy school notice no matter how we phrased the prompt; Nova 2 Lite got it right in every run we tried. For headlines, Nova Pro was the only model that kept every name and time exact.
- A funny news ticker must still be true. Given a one-line summary, the models invented details ("family meeting at noon", "$120 of groceries"). Giving them the concrete facts that were added, and a lower temperature, fixed it.
- Overlays on Fire TV are possible. A forum answer said they were not; testing on a real Fire TV Stick 4K Max said otherwise.
- Guardrails make cloud experiments less scary. Budget alerts and an automatic stop at $10 let a first-time AWS user deploy with confidence.
What's next for Family Hub
- Alexa: "Alexa, I'm leaving" as a third way to dismiss the interrupt.
- A nightly five-minute "family news" recap read aloud.
- Support for Vega OS devices.
Built With
- amazon-bedrock
- amazon-dynamodb
- amazon-nova
- amazon-polly
- aws-lambda
- expo.io
- fire-os
- fire-tv
- kotlin
- node.js
- open-meteo
- react-native
Log in or sign up for Devpost to join the conversation.