Side questFamily organizerOn our living room screen

The family calendar you can text.

A dashboard for the living room screen that runs from the family group chat. Text it “Otis has soccer Tuesday at 4” and it’s on the calendar, in Otis’s colour, with a reminder. Text it a photo of a drawing and it goes up on the fridge, then into a little framed gallery the kids can walk through.

  • RoleDesign, code, all of it
  • BuiltSummer 2026
  • Runs onCloudflare + iMessage
  • NextFocutize for iPhone

The family on this page is made up. The real one gets to keep their schedule to themselves.

Today, on the big screen. Past events fold away; everything is coloured by who it’s for.

The idea

Every family runs on a fridge door, a shared calendar nobody opens, and a group chat where “what time is soccer?” gets asked four times a week. I wanted one screen in the living room that knew who everything was for, and that you could just text.

  1. 01

    Nobody installs anything.

    Everyone already has iMessage. The wall is the screen and the group chat is the keyboard, so the grandparents can add to it without learning a thing.

  2. 02

    Google keeps the records.

    Events live in Google Calendar and to-dos in Google Tasks. The dashboard is a better window onto them, and every phone’s calendar app gets the same colours.

  3. 03

    It asks only when it matters.

    “Juni gym day Wednesday” names Juni. “My dentist Tuesday” is the sender’s. Only a genuine shrug gets a question back, and never more than two.

The calendar

Five people. One week you can read from the couch.

Every event knows who it’s for. Ones that come in by text are tagged with names, a hidden property, and the matching Google colour. Ones typed into Google by hand get their names read out of the title. Both filter the same way.

  • A rolling seven days

    Not Sunday to Saturday. Today is always the first column, and a sideways swipe moves a week.

  • Coloured by who it’s for

    One hue per person. A shared event blends theirs, so date night lands somewhere between Ben’s gold and Nora’s pink.

  • Hours that fit the week

    The grid stretches to whatever is actually on it, so a 6am practice or a late flight never gets clipped.

Managed over iMessage, with Photon

The group chat is the remote.

The house has its own iMessage number, run by Photon. Text it like you’d text a person and it files things where they belong, then texts back to say so. It texts first, too: reminders before things start, a rundown every morning, and a sweep every evening.

  1. Today 4:12 PM
  2. otis has soccer next tuesday at 4 at the Y
  3. ✓ On the calendar: Otis — Soccer Tue, Oct 13 · 4:00–5:00 PM · the Y I’ll text 30 min before.

How one text becomes an event

  1. iMessage Anyone in the family texts the house’s number.
  2. Photon Spectrum receives it and fires a signed webhook.
  3. Worker Checks the signature and the sender. Unknown numbers are ignored.
  4. Claude Reads it with the family profiles: nicknames, teams, teachers.
  5. Google + fridge An event, a task, or a pin on the fridge board.
  6. Receipt A short “✓ Added…” goes back on the same thread.

And every 15 minutes a cron goes the other way: reminders 30 minutes before anything with your name on it, the morning digest at 7, the evening sweep at 7. Replies to the sweep are held for 14 hours, so “ok” still works over breakfast.

The fridge

A fridge door that sorts itself out.

Anything texted or emailed in that isn’t an event or a to-do gets pinned up here: drawings, invitations, coupons, notes. Try it: sort the new ones, or open the dial on the invitation.

On the fridge Everything 8 Artwork 2 Notes 2 Invitations 1
Put away Art box Recycle bin
New

Bea’s first masterpiece

Artwork
New

Maya turns 8! 🎈

Paint-your-own-mug party at Clay Corner. Juni’s invited! RSVP to Sarah by the 12th.

Sat, Oct 17 · 2:00 PM Sarah · (330) 555-0142
Invitation

Lincoln Elementary: Picture day is Friday

Forms went home Monday. Retakes are Nov 12.

Added to calendar · Fri, Oct 9
Email

My Family

Artwork
New

Book fair money ($10) goes in Otis’s folder by Friday. It’s on the counter.

Note

Pizza Joe’s

Kids eat free on Tuesdays. Through Oct 31.

Coupon

Juni’s spelling words, week 6

leaf · leave · their · there · brought · enough · laugh · scarecrow

Assignment

Juni asked me to send this: “CAN WE PLEASE GET A DOG. I will feed it. I feed Pickles.”

Note
  • Swipe to sort

    New things wait in a deck. Right to keep, left to recycle.

  • It reads the photo

    Snap an invitation and Claude pulls the date, place and RSVP number off it.

  • School emails too

    Forward one to the fridge’s address. Dated ones become events on their own.

  • Nothing gets tossed

    Recycled things sit in a bin for 30 days. Drawings go to an art box for good.

The rest of the door

Small things a house needs.

Most of these exist because somebody in the house asked “can it…?” at dinner. They all work here, too.

Ask

Questions about your own week, in plain words. Claude gets read-only tools for the calendar, every task list, the message log, the fridge, the weather and the family profiles, and shows which ones it looked at. It can’t change a thing, so the worst a bad answer can be is wrong.

Is anything happening this weekend?

Saturday’s busy: Juni’s soccer game at 9, then raking leaves with Ben and Otis at 11, and Grandpa’s birthday dinner at 5. Looks like 64° and partly cloudy, so the game’s on. Sunday is clear.

Looked atCalendarWeather
Ask about your week…

Routines

Any task with “daily” or a day name in its notes becomes a row of stars. Tap one.

Otisthis week
MTWTFSS
Brush teeth
Make bed
Feed Pickles

Shopping

A Google Tasks list everyone’s phone already has, sorted into the order you walk the shop.

Produce

Dairy & eggs

Pantry

Nothing in the cart yet

TV mode

Family photos from SmugMug, full-bleed on the living room TV or a Raspberry Pi, with the clock, weather and today laid over them. The phone is the remote: scan a code once and pick the albums.

Night

The same warm room with the lights down: clay brown, not charcoal, so the coral and everyone’s colours still belong. This switch dims this page too.

Holidays & fun days

About one day in five gets a little chip by the title. The rule for a “national ___ day” is simple: if there’s no honest icon for it, it doesn’t make the cut.

Under the hood

Two files and a phone number.

  • June 12first commit
  • 79commits, 25 PRs
  • 0build steps
  • 1very busy house

One Cloudflare Worker

About 4,700 lines of plain JavaScript. It’s the API, the iMessage webhook, the email inbox, the reminder crons, TV mode and the sign-in, and it serves the app too.

One HTML file

The dashboard is React in a single 5,000-line page, compiled in the browser. No build step, so a fix is live a few seconds after I save.

Photon

The house’s iMessage line. Webhooks in, verified by signature; texts out over REST. No extra server to babysit.

Claude

Reads texts, emails and photos, and answers Ask. If it’s ever unreachable, a plain keyword parser takes over and texting never breaks.

Google Calendar + Tasks

The source of truth. Everything the dashboard makes is a normal event or task on everyone’s phone.

D1, R2, KV + Images

The fridge board, message log and profiles in D1; photos in R2, re-encoded to WebP and trimmed on the fly.

What’s next

for iPhone.

The dashboard works because I can run a server for my own house. Focutize is the version anyone could install: a Swift port with no server at all. The smart parts run on the phone, and family data stays on devices and in a folder you own.

“Instructions come down. Family data never goes up.”

In development. Swift, SwiftUI, SwiftData, iOS 26.

The dashboard Focutize
Calendar & to-dos Google Calendar + Tasks, through the Worker Whatever accounts are already on the phone, through EventKit
Understanding a text Claude, over the API Apple’s on-device model, through Foundation Models
Where family data lives D1 and R2 on my Cloudflare account A vault in an iCloud Drive folder you own, shared with your partner
Getting things in The family iMessage line The share sheet, an Add button, or the iMessage line if you want it
Setup Me, a terminal and a free evening An App Store download, once it ships
Up next · Browser game · for an audience of one Math Maze A hamster math adventure for my second-grader.