Inspiration
Small cafés and tea stalls in India often show their menu on a TV, but changing it is hard. Prices go up, Items sell out by noon, and the special changes every day. Digital signage products exist, but they expect a laptop, a web dashboard and a subscription. The Owner is behind the counter with a TV remote in reach, so we built a menu board they can change by speaking to that remote.
What it does
DailyBoard is a Fire OS app that turns a Fire TV into a live menu board.
- One-press sign-in with the Amazon account the TV already has. A code on amazon.com/code covers a TV on someone else's account.
- A guided Setup: the Owner says the café's name, picks the kind of shop, then dictates each Section of the menu in one take ("masala chai 30, ginger tea 35, filter coffee 40"). DailyBoard splits each take into Items and prices and asks for any price it didn't hear. The Owner can also photograph a printed menu with a phone, through a QR code that needs no sign-in. Finally they pick a look from three Starter Themes, each shown with their own menu.
- Voice changes after that: prices, sold out, back in stock, add, remove, Offers, the daily Special, renames, descriptions and opening hours, with up to three changes in one sentence. Numbers work in English or Hindi ("dedh sau"). The Owner can also change the look by voice: "Diwali look but keep my green", "bigger prices", "switch to the chalkboard look".
- Every change is previewed in plain lines with the changed Items highlighted. Nothing reaches the Board until the Owner presses Apply, and Undo and Reset are one press away.
- Made for a café wall: the screen stays on, the last Board opens at power-on, and the Board keeps showing without internet. Several TVs can show the same Business, and a change on one appears on the others within a minute.
- Background music: the same remote skips or pauses the café's Amazon Music without the Board leaving the screen.
How we built it
- Fire OS app: a thin Kotlin shell around a WebView app. The shell does only operating-system work: the Fire TV keyboard's dictation, Login with Amazon, the Cognito exchange for short-lived AWS credentials, SigV4-signed requests, a SHA-256-verified offline copy of the Board, keep-awake and power-on launch.
- On the TV: most Edits are understood by a parser running in the WebView in a few milliseconds, at no cost. It settles 53 of the 70 cases in our Edits evaluation set.
- On AWS: whatever the TV parser can't settle goes to Amazon Nova Lite on Bedrock, called with one forced tool so it returns typed JSON. Code then checks every answer: the Item must be named in the sentence, every amount must have been spoken, and an Item is removed only on explicit words. The same
applypreviews both paths. - Photo import: a Strands agent on Amazon Bedrock AgentCore Runtime reads menu photos with Nova Lite, runs Setup's checks and reports each step to the TV as it goes.
- Tested against frozen evaluation sets: 70 Edits, 18 Restyles and 27 Setup cases. Our live quality gate runs them against the deployed stack. On 1 October 2026 it scored Edits 66 of 70 exact with none wrong, Restyles 15 of 18, Setup splits 18 of 19 and suggestions 7 of 8. The repository also has 222 Node tests, 117 backend tests and 31 browser tests.
Challenges we ran into
- Voice input: Fire TV apps can't capture the remote's mic button, and Fire OS has no Android speech recognizer. DailyBoard listens through the Fire TV keyboard's dictation instead. We published that part as an open-source library.
- Keeping a Board on screen: Vega OS has no way to keep a foreground app's display on outside media playback, so we shipped on Fire OS only (friction log entry 1). On Fire OS, the "Are you still watching?" prompt and power-on behaviour needed Owner-facing workarounds (entry 6).
- Making a model safe for a shop's prices: a wrong price on the wall is worse than a polite "say that another way". Every model answer goes through code guards, and the quality gate counts wrong changes separately from declines.
- Remote-only sign-in: the Login with Amazon consent screen is hard to drive with a D-pad (entry 9). Asking only for
profile:user_idskips it.
Accomplishments that we're proud of
- An Owner can go from a fresh install to a live menu Board in a short Setup, using only the remote and their voice.
- The model does the language work, and code does all the arithmetic and safety checks. In the recorded live run, no Edit was applied wrongly.
- It runs at about $0.017 per Business in the first month and $0.015 after, measured from live token counts.
What we learned
- A parser on the TV handles most real sentences instantly and for free, so the model only sees the hard ones.
- Nova Lite beat Nova 2 Lite on every evaluation set at a sixth to a tenth of the cost.
- Even at temperature 0, Nova Lite doesn't give identical answers on every call, so the quality gate runs several times and the guards matter more than any single score.
What's next
- Vega OS support, once there is a supported way to keep the display on.
- An Appstore listing.
- Trying it with café Owners in a noisy shop. We have not run Owner interviews yet.
Built With
- amazon-api-gateway
- amazon-bedrock
- amazon-bedrock-agentcore
- amazon-cloudfront
- amazon-cloudwatch
- amazon-cognito
- amazon-dynamodb
- amazon-nova-lite
- amazon-sns
- amazon-web-services
- android-webview
- aws-budgets
- aws-lambda
- aws-sam
- fire-os
- javascript
- kotlin
- login-with-amazon
- playwright
- python
- strands-agents
Log in or sign up for Devpost to join the conversation.