Inspiration

A TikTok creator's mom ran the family allowance from a paper binder: every kid starts the week with the full allowance, loses money for pre-agreed rule breaks, earns extra with proof, and carries debt over. It works because the rules are written down and the numbers are always right. It is also a chore to keep, and it lives on one shelf. We wanted the binder to be correct by construction, run by voice from the kitchen, and to give the family something to do with the week's wins on Sunday night.

The second thing on the kitchen wall was the giant monthly whiteboard: every family member with their own colour marker, and one colour for the whole family. That is how a busy family stays organised, and it falls apart the day nobody can drive one of the kids. So the binder grew a calendar.

It is a ledger only. A parent pays cash. The app never holds or moves money.

What it does

For parents, by voice (Alexa+). "What are the balances?" "Maya left the dog bowl empty." "Approve the first one." "Plan game night." Every money change is read back with the before and after balance and needs the parent's spoken four digit PIN. A wrong PIN changes nothing. No tool accepts an amount: the family's rulebook prices everything. Kids never use the Alexa+ surface.

The family calendar, by voice (Alexa+). "What's on tomorrow?" "Any clashes this week?" "Grandma Rosa drives." "When do I need to leave?"

  • Everyone has their own marker colour, and the family has one too, in day, week, weekend and month views.
  • It works out when to leave: the drive, a parking buffer, the minutes to be early, and slower roads in rush hour and winter.
  • It warns about what cannot all happen, before it is added: "Nobody can take Maya for Ballet at 4 PM: Jen is driving Leo to Dentist, and Mark is at Budget meeting. Ask another parent to help by Wednesday." Say "Grandma Rosa drives" and the clash is gone.
  • Holidays for each country the family picks, birthdays with reminders, private grown-up events kept off the kids' screens, and imports from a parent's own calendar offered one at a time.
  • A calendar change is not money, so it needs a spoken yes, not the PIN.

For kids, in the family app. Kids claim a job with a photo. A photo checker looks at it, but the ledger decides, and any doubt (a reused photo, say) goes to a parent's review queue.

For the whole family, on the Fire TV (Sunday night). Game night is a TV show: the TV is the screen, every phone is a controller. Tonight's episode is planned from the week's good news only (jobs done, goals getting closer, never a deduction or a balance), trimmed and approved by a parent by voice, then picked up by the TV by itself.

  • Quiz rounds at each person's own level, aiming for 7 or 8 right out of 10.
  • A buzz round where the words come up one at a time at the youngest reader's pace, so knowing the answer wins, not reading fast.
  • "Show me" rounds: find something and photograph it; the family votes on anything unclear.
  • 1,963 fact checked questions in 20 topics, every one in English, Spanish and Vietnamese. Each phone picks its own language.

About the video: the Alexa+ parts are our own Alexa+ simulator talking to the real MCP server (Amazon's Alexa+ tools are partner only); the TV parts are the Fire TV app running on the Android TV emulator; the phone screens in the ledger part are recordings of the family app's design. The voices in the video are ElevenLabs voices, including the simulated Alexa.

How we built it

A TypeScript monorepo on Node 22, no framework for the core.

  • @binder/ledger: the allowance rules as a pure function. No I/O, no clock, no dependencies, so every rule is tested exhaustively and a dry run costs nothing.
  • @binder/calendar: the family calendar, also pure functions: views, repeats that keep their wall-clock time across daylight saving, leave-by times, clash and ride checks, holidays, birthdays, private calendars, and an iCal reader.
  • @binder/store: Postgres with database guards and row-level security, so roles are enforced by the database and not only by the server, with tests that check the database and the ledger agree.
  • @binder/mcp: the Alexa+ MCP server (Streamable HTTP, MCP TypeScript SDK 2.x, spec 2025-11-25), 25 tools. Changes are two step: a dry run on the real rules and a spoken read back, then a PIN for money or a yes for the calendar. The parked action's id is the ledger's idempotency key, so a second "yes" cannot post twice. A key-guarded route hands the game server the episode a parent approved for tonight.
  • @binder/auth: an OAuth 2.1 authorization server for account linking (PKCE, rotating refresh tokens).
  • @binder/views: the on-screen view for Echo Show and Fire TV, one 33 kB MCP Apps document usable by touch alone and by TV remote, built to Amazon's design guide numbers.
  • @binder/addon: the Alexa+ add-on package (manifest, listing, icons, privacy and terms).
  • @binder/games, @binder/game-ui, apps/gamenight: the show, its screens and its server (Server-Sent Events rooms, a TV page, phone controllers).
  • @binder/agent: the photo checker behind an interface (Amazon Bedrock, Nova), with every failure falling back to a parent.
  • apps/firetv: a plain Java Fire OS app: a full screen web view with the remote passed through.
  • apps/simulator: our own Alexa+ simulator. npm run demo runs everything on one machine.

Built by Daniel Fillion with Claude Code and Claude (Anthropic), which wrote most of the code under his direction. Daniel made the product decisions and did everything that needs a real device or an account.

Challenges we ran into

  • Voice cannot tell a kid from a parent. So the Alexa+ surface is parents and caregivers only, every money change needs a spoken PIN, and no tool takes an amount.
  • An add-on cannot remind anyone. The most useful thing a family calendar does is say "time to leave", and an add-on only runs when someone talks to it. Every leave-by time is worked out and read out on request; the video calls the chimes simulated.
  • A ride nobody can give. Knowing that Mark is in a meeting and Jen is driving Leo to the dentist, so nobody can take Maya to ballet, means counting drives both ways, rides already given, and drop-off and pick-up separately.
  • Celebrate, never shame. The TV is in the living room. One file is the only place the ledger is read for the game, and it reads confirmed earnings and awards and nothing else. A test fills a week with deductions and balances and checks none can reach the screen.
  • Closed tools. Amazon's Alexa+ CLI and Local Inspector are not on public npm, so we wrote our own simulator and tested to the published design numbers.
  • A question bank a family can trust, in three languages. Every question was written by one agent and fact checked by another that had to find a source; Vietnamese was translated per topic and reviewed separately.
  • Fair across ages. A nine year old and a parent play the same buzz question, so the words appear at the youngest reader's pace and the host stays silent.
  • An 8 GB Intel Mac. It decided the route: Fire OS on the Android TV emulator, not Vega.

Accomplishments that we're proud of

  • A ledger that is provably consistent, with the database and the rules checked against each other.
  • A voice flow that cannot post twice, cannot post without a PIN, and cannot show a child a deduction on the TV.
  • A family calendar that knows who can drive, when to leave, and whose events the kids may see.
  • A game that adapts to each player, with a bank checked in three languages.
  • 863 automated tests, all passing, including browser tests of the TV and phone screens and screenshot walks through every scene in three languages and every calendar screen on Echo Show and Fire TV.

What we learned

Putting the rules in a pure function made everything else cheap to test, twice: the ledger and the calendar. Treating the TV as a place where only good news may appear is a design rule that has to be a code rule.

What's next for Binders Keepers

Real chimes at leave-by time (writing "leave now" events into the family's linked calendar so Alexa's own announcements speak them, and push to the family app), two-way calendar sync, live traffic, the photo judge on a live model, the family app on phones, goals and wishlists in the ledger, homework and classrooms on the same rules, image and audio rounds, a native read of the Spanish and Vietnamese questions, and tuning the show with real families.

Built With

Share this project:

Updates

Submission history