family alpha September 22, 2026

Family Dashboard

One household OS on a family Google Sheet: Sunday review, date nights, budget meetings, trips, recipes, and home upkeep in one place.

ReactViteTypeScriptTailwindCloudflare PagesCloudflare WorkersCloudflare D1Google Sheets API
The Sunday review agenda: the week's calendar, school coverage, dinners from Recipe Flow, and the Clembot pulse.
The Sunday review agenda: the week's calendar, school coverage, dinners from Recipe Flow, and the Clembot pulse.
Date Nights: the Date Night Planner, now a tab. Moving a card writes it back to the family Sheet.
Date Nights: the Date Night Planner, now a tab. Moving a card writes it back to the family Sheet.
Finances: the Budget Meeting, now a guided five-step ritual inside the dashboard.
Finances: the Budget Meeting, now a guided five-step ritual inside the dashboard.
Family trips pulls curated itineraries from travel.listsof30.com straight onto the trip board.
Family trips pulls curated itineraries from travel.listsof30.com straight onto the trip board.
The kitchen display: a clock, today's schedule, and tonight's dinner for a countertop tablet.
The kitchen display: a clock, today's schedule, and tonight's dinner for a countertop tablet.
Mobile: a quick household check-in sized for one hand.
Mobile: a quick household check-in sized for one hand.

Family coordination fails when the information lives in separate places: calendars, meal plans, travel notes, school logistics, date nights, budgets. The Family Dashboard puts all of it behind one URL, anchored on a weekly Sunday review.

It started as a read-only agenda. It’s now in alpha as the household’s operating system, and two projects that used to stand alone live inside it as tabs: the Date Night Planner and the Budget Meeting.

Anyone can open the interactive demo with a sample household. Nothing needs connecting.

The Tabs

TabWhat it’s for
Sunday reviewThe weekly agenda and a guided review of the week ahead
Date nightsThe Date Night Planner: a board, Surprise Us, and evening itineraries
Family tripsA trip board fed by Clem’s Travels, with annual summits and a bucket list
Home maintenanceA recurring checklist by season, plus an improvement log for projects, costs, and warranties
FinancesThe Budget Meeting ritual, big-purchase decisions, and savings ideas
KitchenA countertop display for the tablet on the counter

Machines Fetch. Humans Curate.

The family’s data isn’t trapped in an app database. A permissioned Google Sheet is the source of truth: the family can edit it on a phone with plain dropdowns, or use the dashboard.

A Cloudflare Worker is the one sanctioned writer to the Sheet and Google Calendar. It checks for drift before every write: if someone edited that cell in the Sheet in the meantime, the write stops and the conflict is shown instead of overwritten.

The Sunday Review

A six-step guided walkthrough for Sunday mornings on the couch:

  1. Gratitude and connection. Wins and a look back at the week.
  2. Schedule and shuttles. The school pickup and drop-off grid, with gaps flagged.
  3. Dinner and groceries. The week’s dinners from Recipe Flow, plus a grocery list built from them.
  4. Date night. Upcoming dates and a Surprise Us pick, straight from the Date Nights tab.
  5. Home upkeep. This month’s preventive maintenance, with seasonal priorities.
  6. Big rocks. The one or two non-negotiables for the week.

How It Connects to the Rest

The dashboard doesn’t rebuild what already exists elsewhere. It links to it.

There’s more on the agenda too: a happiness jar, a family values card, a kids’ activity and camp planner, and an estate readiness checklist on the Finances tab.

Kitchen Display

/ambient turns the dashboard into a kiosk for a countertop tablet: a high-contrast clock, today’s schedule, tonight’s dinner, and Evie’s Arcade. Screen Wake Lock keeps it from going to sleep.

Technical Architecture

The frontend is a React, Vite, and Tailwind single-page app with lazy-loaded routes. The backend is a Hono app on Cloudflare Workers, with Cloudflare D1 for sessions and encrypted OAuth tokens.

The agenda engine is pure TypeScript with no runtime I/O and takes the date as an argument, so it gives the same answer for the same week every time. Static snapshot fallbacks keep the Sunday review working if the tablet at the kitchen table goes offline.

Status

Alpha. The dashboard runs for one family and as a public demo. Some newer features (budget meeting records, date itineraries, and ratings) are saved in the browser for now. The Sheet-backed boards and the calendar are shared across devices.

Development timeline

23 logged updates over 58 days, 20 Aug 2026 to 16 Oct 2026.

  1. Marketing copy stops claiming open sourcefeature

    the marketing page said "Open Source & Local-First", "100% stored in your own Google Drive" and "free, open source". The repo is not fully open source, and some features live only in the browser.

  2. Household Mental Load & Cognitive Labor OS (Notice · Plan · Do · Follow-through)feature

    1. Cognitive Labor Architecture: Grounded household mental load in sociology research separating thinking work from execution across 4 distinct phases: - Notice: Who realizes something needs to happen?

  3. Clean weekly tasks, instant parent driver assignment & called-out to-dosimproved

    1. Refined demo household tasks and action items to mirror authentic domestic weekly responsibilities (a child's soccer shin guards & uniform, birthday party RSVP, Costco pantry restock, Friday date night babysitter confirmation, annual…

  4. De-duplicate right rail and organize homepage into This Week vs Horizonfeature

    1. De-duplicate Right Rail: Removed KidGearRailCard from AttentionRail because KidLogisticsGrid directly beneath the board already provides the full activity shuttle and morning gear packing checklists.

  5. Maximize demo dataset authenticity, interconnectedness, and organization impactfeature

    1. Dynamic Week Anchoring: Anchored demo dates, school calendar breaks, date nights, and trip timelines relative to mon = computeMondayOf(toIso(today)).

  6. Five of seven kids-arcade tiles were dead linksfeature

    Found during a vault-wide live-site audit, not by a bug report. The games themselves were fine; they live at hub routes under games.wanessalabs.com/games/<slug>/.

  7. Auto-IDs for direct Sheets editing, 1-Tap Family Brief Export, and 14-Tab Dropdownsfeatureunverified

  8. PR #130 merged, and the portfolio pages describe the tabsfeature

    PR #130 conflicted on about 140 files. Main held #80 as a squash, and this branch still carried #80's original commits.

Show the earlier 15 entries
  1. Production, GSC Parity & Agentic Readiness Audit (100/100)docs

    Audit Trigger: Full 7-dimension production quality and LLM/Agent readiness audit (/audit).

  2. Full Family OS integration — bridges, smart groceries, Sunday review runner, and ambient displayfeature

    Connect Family Dashboard across the Wanessa Labs ecosystem with bi-directional data bridges, category-first smart groceries, dynamic Clembot pulse intelligence, a 6-step guided Sunday review couch wizard, and a zero-chrome Kitchen Ambient…

  3. The overlay is a product, and the gate was smaller than recordedfeature

    Clemens reframed the multi-family idea: not "a version of this app for other families" but an overlay that fits over any build. The app never owns the data.

  4. a prefilled workbook, and the agenda reads the Workerfeature

    Ship sheet-template/family-dashboard.xlsx, a formatted twelve-tab workbook prefilled with a year of starter data, and make the Sunday agenda read live from the Worker when a sheet is connected.

  5. the read-only rule is reversed; two boards and one write pathfeature

    The app becomes a sanctioned writer to the Google Sheet and to the family calendar. Two kanban boards, Date Nights and Family Trips, move cards between Ideas, To Plan and Complete, and every move writes back.

  6. Tab deep links resolved, and the Sheet confirmed privatefeature

    [VERIFY] closed: the Google Sheets deep-link format is #gid=<number>, confirmed from a real Sheet URL. Nobody copies ten numbers by hand, and it self-heals if a tab is deleted and recreated.

  7. The template the family imports is now under testfeature

    The ten CSVs in sheet-template/ are what the family imports as the ten tabs, and nothing checked them against the schemas that parse them. A renamed column or a retired status value would have surfaced as "rows were skipped" in the app,…

  8. AI suggestions exist, strictly outside the enginefeature

    an optional suggestion layer, off by default, local-only, sitting outside buildAgenda entirely.

  9. Closing the drift the previous two commits createdfeature

    the board, the Calendar API and the suggestion layer all landed quickly. This entry records the follow-up pass that made the docs and the tests match what actually shipped, and the two real defects it found.

  10. Google Calendar API replaces the secret ICS addressfeature

    the calendar is read through the Calendar API with an OAuth loopback flow and the calendar.readonly scope. The secret ICS URL stays as a fallback when no OAuth credentials are configured.

  11. Access model: local snapshots, not a Worker and not an Apps Script endpointfeature

    The app is a static site over those snapshots.

  12. Calendar event ownership is a convention, not an inferencefeature

    the engine attributes a calendar event to a parent by matching that parent's name or initials from Config against the event summary or organizer.

  13. Seams: one owner per factfeature

    Finance_Major holds the decision state machine and never a budget. DateNights holds five columns and never an itinerary.

  14. The engine is pure and takes the date as an argumentfeature

    buildAgenda(data, calendar, date) and resolveCadences(date) are pure functions. Date arithmetic uses a civil-date module ({y, m, d} records, Sakamoto for day-of-week) rather than Date objects.

  15. v1 superseded, not migrated; source of truth moves to a Google Sheetfeature

    The four-tab localStorage display layer described in the 2026-04-03 PRD is superseded. The source of truth becomes one permissioned Google Sheet that the family curates by hand.

Written from this project's decision log as work happened, not afterwards. 4 entries were withheld from publication. See every project →