Inspiration
Every short-term-rental host answers the same few questions every week: the Wi-Fi password, checkout time, how the hot tub works, where to eat, whether there's a hair dryer and more. Same boring questions, repeated effort on every host's end. Every guest looks at the TV, and with a Vega OS app on a Fire TV it can be the house's front desk and answer the questions for you.
What it does
- Ask the house: guests pick a suggested question or type one with the remote, or scan a QR code and ask from their phone. Amazon Nova 2 Lite answers only from what the host wrote (the guide, FAQs, rules, Wi-Fi, checkout, local picks). If that doesn't cover the question, the TV says so, gives the host's fallback line, and sends the question to the host's inbox.
- The host replies once. The guest sees the reply on the TV or phone, and it is saved as a memory, so Nova answers it for every guest after and the current guest.
- The rest of the screen: the TV turns on to a welcome screen with the guest's name, Wi-Fi with a scannable QR code, a checkout checklist, house rules, a house guide, local picks and contacts.
- A host dashboard with a live preview of the TV, autosave and pairing by a six-letter code. The TV picks up changes within a minute.
- A design studio: looping background video, photo or slideshow, background music, five layouts, three bundled typefaces, colours, a logo, and tiles the host can rename, drag into a new order, or hide. TV plays them through Vega's W3C media API.
How we built it
- TV: React Native 0.83 for Vega (
@amazon-devices/react-native-kepler),TVFocusGuideViewfor D-pad focus,@amazon-devices/react-native-w3cmedia<Video>/<Audio>for the backdrop and music, bundled OFL fonts,@amazon-devices/react-native-qrcode-svg, AsyncStorage for the device secret and the last config. Tested on the Vega Virtual Device. - Backend: Next.js 16 route handlers running on a through OpenNext, with uploads served with Range support and an immutable cache. No guest identity goes to the model. One layout engine in
shared/design.tsis shared by the TV, the web preview and the guest page. - Dashboard and guest page: Next.js 16 App Router with Tailwind 4 and AlignUI components, deployed on the same Worker. The guest page is server-rendered at
/g/<slug>and reached from a QR code on the TV.
Challenges we ran into
The friction log has all 18 entries. These cost the most time:
- Vega lays out a 1080p TV at 960×540 logical points, and the getting-started docs don't say so. Our first build came up at double size.
- A background
<Audio>track took over the remote's Back button and closed the app until we setaudioUsagetoUSAGE_GAME. - The virtual device has no screenshot or key-injection command, so we used the emulator console and
inputd-clito record them.
Accomplishments that we're proud of
- Built the whole project end to end.
What we learned
On a TV, every screen needs one obvious place for the D-pad to land, and TVFocusGuideView handled that without a navigation library. Letting the model say it doesn't know turned out to be the useful part of the AI: each answered: false marks a gap in the guide, and the host's reply fills it for the next guest.
What's next for Stayboard
Appstore submission, booking-calendar sync for guest names and dates, multi-language answers, a screensaver mode, and an email digest of unanswered questions.
Built With
- amazon-bedrock
- amazon-nova
- amazon-web-services
- fire-tv
- next.js
- opennext
- react-native
- tailwindcss
- typescript
- vega-os
Log in or sign up for Devpost to join the conversation.