A mobile app for shared living. Chore scheduling, bill splitting, availability coordination, swap requests, and penalty tracking — with multi-user data isolation enforced at the database layer.
- Chore scheduling — Assign tasks by day of week, time slot, and household member
- Bill splitting — Track shared expenses and balances across roommates
- Availability scheduling — Members set availability windows; task assignment respects them
- Swap requests — Request and approve chore swaps with full approval flow
- Penalty badges — Automatic penalty tracking for missed or incomplete tasks
- Push notifications — Task reminders, swap requests, and completion confirmations
- Multiple assignees — Tasks can be assigned to multiple members simultaneously
- Mobile — Expo (React Native), TypeScript, cross-platform iOS + Android
- Database — Supabase (Postgres + Auth + RLS)
- Notifications — Expo push notifications
Row Level Security is enforced at the Supabase layer for every table — not just in application logic. The src/config/fixes/ directory contains 16 incremental SQL migration patches that progressively hardened the RLS policies across home membership, task visibility, rule agreements, notifications, and public user data. Multi-user state management in a shared-home context requires careful policy design: a member should see their home's tasks but never another home's data, even through indirect joins.