Connect your phone
First launch shows a five-digit code. Text it to the Recco number and the TV is yours.
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.









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.
Tea, snacks, and an hour and a half before bed for a really good show.
But most nights, I spend ten minutes searching.
Then I remember Megan mentioned a show, so I grab my phone to find it… forty minutes later, I’m still scrolling.
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.
A story about getting your evenings back, then a walk through the TV app, the agent and the AWS pipeline behind every card.
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.
First launch shows a five-digit code. Text it to the Recco number and the TV is yours.
A friend’s pick, a link, a mood, or a half-remembered title. Free form, the way you’d text a friend.
It reads the text or the post, works out the show, who sent it and what they said. Every title is checked, never invented.



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

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









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

A delivery driver and his wife share their house, and the garage TV, with her stubborn father.
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.
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.
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.
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.
Intake hands off without waiting. The worker calls the agent on AgentCore Runtime, one session per text.
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.
save_cards checks the workPlain code, not the model. Cards that pass are written and the TV swaps the placeholder for the finished card.
1read_post(filmtok.cx/v/7Kq2RxZ)Caption and transcript name three shows2find_titles × 3Room 104, Couch Time and Away Game each match3list_friends()Steph is already a friend, so the cards go under Steph4save_cards(3 cards)One stack, “Steph’s Cold Night Picks”, with her words as the noteread_postReads 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_titlesLooks 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_friendsLists the friends this household already has, so “steph” is filed under the Steph you already have.
Amazon DynamoDB
save_cardsChecks every card, saves the ones that pass, and tells the TV.
DynamoDB · AppSync Events
save_cards is plain TypeScript, not the model. The checks that matter don’t live in a prompt.
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.
Placeholder on the TV after you hit send
budget 3 s
Finished card from a plain text
budget 20 s
Finished card from a link, read live
budget 45 s
GET /inbox at p95
budget 500 ms
Agent test set of real-shaped texts and links
Claude Haiku 5.5

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.









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.
Illustrative hash.
Phone numbers are kept as a salted hash plus the last four digits, so the TV can say “the phone ending 0189”.
Friends are a first name. No contacts access, no audio, no accounts or passwords.
Recco never texts you back. Mistakes are fixed on the TV with the remote.
The title lookup sees titles. The link readers see the links you send. The model sees the text.
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.