This one is built. fridge-door is a household app I built for my own household. The dates below come from the repository’s commit history. The repo is private, so there’s no link.

September 30: a board and a passcode

Next.js, Tailwind and Convex. The first version was a board: seven day buttons with chores, meals, to-dos and school items, repeats by week or weekday, and a list of undated things that need doing. A due date pins an item to its day.

The same day it got a passcode. Every query and write needs a device token, only the token’s hash is stored, and logins lock for 15 minutes after 10 wrong tries.

October 1: Kroger, households and Claude

The grocery list learned Kroger. Kroger sign-in through OAuth, a store picker, product search and pushing the list to the cart. The tokens stay in Convex.

Then the passcode went away. Magic-link sign-in replaced it, so any household can sign up. Every row carries a household id, and the database each function sees only holds that household’s rows. Caregivers can’t see the money tables.

Flyer scanning arrived in the same change. Upload a flyer or a PDF, Claude suggests what to add, and nothing lands until a person approves it.

Later that day, a cost check. Every read now records its calls and tokens per household, per day, per model. A compare command reads one waiting scan with three Claude models so the reading model gets picked on real flyers, not a guess.

Deploys run from main through Vercel. A merge pushes the Convex functions and schema, then builds the app against them. Other branches never touch production data.

October 2: every household gets an email address

Forward an email to the household’s address and it arrives through a Resend webhook, signed, and Claude reads it into the same approve-first inbox as the flyers.

October 4: the daily briefing

An hourly scheduled job sends each member a briefing at the hour they pick: what’s on today, what’s overdue, what’s coming. By email, by push notification, or both. Households store a timezone, so 7 AM means their 7 AM. A day with nothing on the board sends nothing. Caregivers’ briefings leave out money.

What carries over to a business

Information arrives in email and paper, and a person retypes it. That’s true in my kitchen, and it’s the pattern I’d use for vendor emails and invoices at a grocery store. The machine reads and drafts. A person approves. Claude reads on a budget, and duplicates get read once.

The finished app is written up on the fridge-door page.