Fire TV · Amazon hackathon

An inbox of things to watch, on Fire TV.

Text a show to one number. When you sit down to watch, Recco has the list, who recommended each one, and what they said. Then just tell Alexa which one.

FeaturedInbox
3 cozy comedies for a night in
3 showsFilmTok
my three comfort shows when it's cold out
SSteph· now
Two-Car Garage
Series · 1998–2007
7.465%
Jill says it's hilarious
JJill· now
Desk Nine
Series · 2022–
8.298%
Dad says it's brilliant
DDad· 1m ago
Back of House
Series · 2022–
8.599%
you HAVE to watch Back of House, the one-take kitchen episode is insane
SDSarah & Dad· 5h ago
Floor Thirteen
Series · 2022–
8.797%
Floor Thirteen!! your dad and I are hooked
MSMom & Sarah· Tue
Second Summer
Film · 2023
7.895%
Best films of 2023 you probably missed
FFrom the internet· Sun
Most nights

9pm.

The best shows come from people: a friend at dinner, a TikTok, a stray thought. By the time you sit down, they’re buried in a dozen threads, and the phone that has them is the thing that eats the evening.

  1. 9:00PM

    Tea, snacks, and an hour and a half before bed for a really good show.

  2. 9:10PM

    But most nights, I spend ten minutes searching.

  3. 9:50PM

    Then I remember Megan mentioned a show, so I grab my phone to find it… forty minutes later, I’m still scrolling.

  4. 9:58PM

    Now there’s no time for anything. Not exactly me time.

So now I use Recco

An inbox for my TV that I text like a friend.

The film

Two minutes, one evening. Then how it’s built.

A story about getting your evenings back, then a walk through the TV app, the agent and the AWS pipeline behind every card.

Watch on YouTube
How it works

From a text to the couch, in six steps.

No phone app, no password, and Recco never texts back. Capture is a text message. Everything else happens on the TV, with the remote and your voice.

1Sign up

Connect your phone

First launch shows a five-digit code. Text it to the Recco number and the TV is yours.

On your phone, text
48217
to (604) 555-0142
Connected to the phone ending 0189
2Send texts

Text it anything

A friend’s pick, a link, a mood, or a half-remembered title. Free form, the way you’d text a friend.

A friend’s pick
Name who said it
Dad says Desk Nine is brilliant
A link
TikTok, YouTube, articles
3 cozy comedies for a night in
filmtok.cx · from Steph
A mood or a search
Recco picks a few
movies for a stormy night
Just a title
A note to yourself
Floor Thirteen
3Recco agent

The agent does the work

It reads the text or the post, works out the show, who sent it and what they said. Every title is checked, never invented.

filmtok.cx/@steph/74…
Steph sent this
read_postfind_titleslist_friendssave_cards
Friend
Steph
Shows
Room 104, Away Game, Couch Time
Her words
“my three comfort shows”
4Loading in

A card loads in

A placeholder lands on the TV the moment you hit send, then turns into the finished card.

Right away a placeholder
Looking it up…
Seconds later the real card
Two-Car Garage
Series · 1998–2007
7.465%
Jill says it's hilarious
JJill· now
5Your library

Build your recco library

Every show, who recommended it and their words, waiting on the TV. One link with three shows becomes a stack.

FeaturedInbox
3 cozy comedies for a night in
3 showsFilmTok
my three comfort shows when it's cold out
SSteph· now
Two-Car Garage
Series · 1998–2007
7.465%
Jill says it's hilarious
JJill· now
Desk Nine
Series · 2022–
8.298%
Dad says it's brilliant
DDad· 1m ago
Back of House
Series · 2022–
8.599%
you HAVE to watch Back of House, the one-take kitchen episode is insane
SDSarah & Dad· 5h ago
Floor Thirteen
Series · 2022–
8.797%
Floor Thirteen!! your dad and I are hooked
MSMom & Sarah· Tue
Second Summer
Film · 2023
7.895%
Best films of 2023 you probably missed
FFrom the internet· Sun
JJillMMomSSteph✦Recco’s picksMeFrom me
6Watch it

Ask Alexa to watch it

Pick a card with the remote and say the line on screen. The phone can stay in the other room.

Two-Car Garage
Series · 1998–2007 · 22 min · Sitcom

A delivery driver and his wife share their house, and the garage TV, with her stubborn father.

JJill · now — “Jill says it’s hilarious”
✓ Mark WatchedRemove‹ Back
Then just say“Alexa, watch Two-Car Garage”
Send it anything

Nothing to install. It works on any phone.

Say who told you, paste a link, or describe a mood. The agent turns a name, a link or a vague search into real, checked titles.

Two-Car Garage - Jill said it was hilarious
A card under Jill
with her note, in her words
Floor Thirteen
A card under “From me”
a note to yourself
filmtok.cx/@steph/74… Steph sent this
One card per show in the post
stacked together, under Steph
reelhub.cx/watch?v=8hQ…
Cards under “From the internet”
a bare link with no name
movies for a stormy night
A stack of ideas
under “Recco’s picks”, each one checked
that show with the guy in the bunker
The show you meant
a half-remembered title is still a title
the garage one
A “Which one?” card
up to three candidates to pick with the remote
zzzz
An unsorted note
Recco never invents a title
Under the hood

Inside the Recco agent.

Every step between the text you send and the card on your TV, and the services that run each one. Texts and posts are untrusted input: the agent reads them as data, and the rules that matter are enforced in code.

  1. 1

    The text arrives

    The SMS provider calls a signed webhook. The API checks the signature and publishes the text to SNS in the AWS End User Messaging shape, so a number from AWS can replace the provider without a code change.

    Zernio SMSLambda function URLAmazon SNSAmazon SQS
  2. 2

    Intake sorts it out

    A five-digit code links the phone to that TV. A phone that isn't linked is dropped. Anything else is saved, and the TV shows a placeholder in under a second.

    AWS LambdaAmazon DynamoDBAWS AppSync Events
  3. 3

    A worker starts the agent

    Intake hands off without waiting. The worker calls the agent on AgentCore Runtime, one session per text.

    AWS LambdaBedrock AgentCore Runtime
  4. 4

    The Recco agent reads it

    It waits five seconds for follow-up texts, because a link and its comment often arrive as two. Then it works through four tools and calls save_cards once.

    Bedrock AgentCore RuntimeVercel AI SDKClaude Haiku 5.5OMDb API
  5. 5

    save_cards checks the work

    Plain code, not the model. Cards that pass are written and the TV swaps the placeholder for the finished card.

    TypeScriptAmazon DynamoDBAWS AppSync Events
Recco Agent
Model
Claude Haiku 5.5 via Vercel AI Gateway
Code
Vercel AI SDK, four tools
Runs on
Amazon Bedrock AgentCore Runtime
Input
Texts and posts are read as data, never as instructions
Limits
10 steps and 40 seconds per text
One text, step by step
Steph says these are perfect for a cold night filmtok.cx/v/7Kq2RxZ
  1. 1read_post(filmtok.cx/v/7Kq2RxZ)Caption and transcript name three shows
  2. 2find_titles × 3Room 104, Couch Time and Away Game each match
  3. 3list_friends()Steph is already a friend, so the cards go under Steph
  4. 4save_cards(3 cards)One stack, “Steph’s Cold Night Picks”, with her words as the note
read_post

Reads a link from the text: a post's caption and transcript, or a web page. It only opens links that are in your text.

ScrapeCreators · Jina Reader

find_titles

Looks up each title in OMDb and returns real matches. For a misspelled title it tries again, up to three times per show.

OMDb · 7-day cache in DynamoDB

list_friends

Lists the friends this household already has, so “steph” is filed under the Steph you already have.

Amazon DynamoDB

save_cards

Checks every card, saves the ones that pass, and tells the TV.

DynamoDB · AppSync Events

It never makes up a show.

save_cards is plain TypeScript, not the model. The checks that matter don’t live in a prompt.

Every title
Must come from find_titles in this run. Anything else is rejected.
The note
Must be your exact words. If the model rewords it, your whole text is kept.
The friend
Must be named in your text. Names from a post are dropped.
If nothing matches
Your words are saved as a note. Recco never invents a title.
Measured on AWS

Fast enough that you don’t notice.

Warm numbers from the deployed stack in us-east-2. A cold start, the first text after an idle stretch, takes about six seconds to show the placeholder.

0.75s

Placeholder on the TV after you hit send

budget 3 s

~5s

Finished card from a plain text

budget 20 s

10.2s

Finished card from a link, read live

budget 45 s

108ms

GET /inbox at p95

budget 500 ms

25/25

Agent test set of real-shaped texts and links

Claude Haiku 5.5

Calm, not a storefront

A room for every season.

The inbox sits over a muted, looping scene picked by season and time of day. Auto follows the clock, from bright summer days to snowy winter nights.

FeaturedInbox
3 cozy comedies for a night in
3 showsFilmTok
my three comfort shows when it's cold out
SSteph· now
Two-Car Garage
Series · 1998–2007
7.465%
Jill says it's hilarious
JJill· now
Desk Nine
Series · 2022–
8.298%
Dad says it's brilliant
DDad· 1m ago
Back of House
Series · 2022–
8.599%
you HAVE to watch Back of House, the one-take kitchen episode is insane
SDSarah & Dad· 5h ago
Floor Thirteen
Series · 2022–
8.797%
Floor Thirteen!! your dad and I are hooked
MSMom & Sarah· Tue
Second Summer
Film · 2023
7.895%
Best films of 2023 you probably missed
FFrom the internet· Sun
Private by design

Your phone stays off. Your number stays yours.

The moment you pick up your phone to find a recommendation, you start scrolling. Recco never asks you to look at it at watch time, and keeps as little about you as it can.

What Recco keeps
+1 (604) 555-01897f3a·9c21·e0b4…ending 0189

Illustrative hash.

Your number is never stored

Phone numbers are kept as a salted hash plus the last four digits, so the TV can say “the phone ending 0189”.

First names only

Friends are a first name. No contacts access, no audio, no accounts or passwords.

No reply texts

Recco never texts you back. Mistakes are fixed on the TV with the remote.

Outside services see only what they need

The title lookup sees titles. The link readers see the links you send. The model sees the text.

Built on AWS

One CDK stack, one region.

A React Native for Vega app on the TV, and a serverless pipeline behind it. The whole stack is defined in AWS CDK and runs in us-east-2.

Bedrock AgentCore RuntimeAWS LambdaAmazon SNSAmazon SQSAmazon DynamoDBAWS AppSync EventsAWS Secrets ManagerAmazon S3AWS IAMAmazon CloudWatch LogsAWS CDK
React Native for VegaHonoVercel AI SDKVercel AI GatewayClaude Haiku 5.5OMDbScrapeCreatorsJina ReaderZernio SMS
Recco

From a friend, a link, or you. Ready when you are.