Does routine feel lighter when shopping, tasks, and context live in one place?
Synchronize several residents' routines without losing authorship, recurrence, or household-level data isolation.
CASE FILE. 07 / MOBILE / HOUSEHOLD
An iPhone app where couples and families share shopping, recurring tasks, and responsibilities with real-time synchronization.
BRIEF. 01 / PROBLEM AND BOUNDARY
A deliberate view of the current state. Metrics and the hypothesis remain editorial until public evidence can replace them.
Synchronize several residents' routines without losing authorship, recurrence, or household-level data isolation.
SYSTEM TRACE. 02 / PRIMARY FLOW
React Native app → Supabase commands and channels → PostgreSQL with RLS, RPCs, and triggers → synchronized household projection.
Expo / React Native / TypeScript
Supabase channels / refresh
RPCs, triggers, and recurrence
PostgreSQL / Auth / RLS
intent → policy → authoritative state → observable effectAn editorial sequence for discussing contract, authority, and effect. It does not represent real production telemetry.
Sends the intent with task, new status, and authenticated session.
status.requestedThe RPC validates household membership and applies the transition.
status.changed | deniedTriggers record author and time and calculate the next occurrence.
history.appendedThe event invalidates the projection and each resident reloads household state.
household.convergedDECISION LOG. 03 / TRADE-OFFS
Keep authorization and critical transitions close to the database; the app sends intents and reconciles the projection through Realtime.
RELIABILITY. 04 / FAIL WITH CONTEXT
These are not published production metrics. They are risks the design must make observable and candidate signals for the next round.
Invitation and removal of the same resident happen almost simultaneously.
A monthly task completed near a time-zone boundary reopens on the wrong date.
The app misses events while suspended on iPhone.
Time between a change and convergence across devices in the same household.
RLS denials and failures by RPC, table, and resident role.
Recurrences reopened on the correct date by frequency and time zone.
INCIDENT DRILL. 05 / CONTAINMENT → RECOVERY → PROOF
Editorial resilience exercises, not real incidents or production runbooks. Each drill turns a failure mode into a response that can be discussed and tested.
DESIGN EXERCISE / REVIEW AGAINST REAL TELEMETRY AND RUNBOOKS BEFORE OPERATING
EVIDENCE. 06 / WHAT CAN BE DEFENDED
Validate version 1.0 on physical iPhones before adding notifications and a shared calendar.

INTERVIEW MODE. 07 / DEEPEN THE CONVERSATION
Questions that connect the case to system design, product, and operations without turning a contextual decision into a universal rule.
How to design RLS and RPCs so the multi-tenant boundary does not depend on the client.
↗When to replace invalidation plus refresh with incremental events or offline-first state.
↗How to test recurrence, invitation concurrency, and mobile recovery without relying on the real clock.
↗CASE FILE / 07