Software

GyattChores

GYATT-2025-12 ยท Live
GyattChores, Software

Overview

GyattChores began as a cloud-dependent React app and was rebuilt around a local-first architecture: every chore is written to the browser's localStorage instantly, so logging never blocks on the network and the app keeps working fully offline. When the shared Supabase backend is reachable, logs sync across devices in the background โ€” local storage stays the source of truth and the cloud is a best-effort sync layer. The web app is a single self-contained HTML file (React 18 via CDN, Babel Standalone, hand-written Material-inspired dark CSS) installable as a PWA on iOS and Android, and a native SwiftUI app brings the same chore-logging to iPhone and Apple Watch. The repository is run under a lightweight, ITIL 4-aligned service-management system with change-control and incident documentation.

Stack

React 18Babel StandalonelocalStorage (offline-first)Supabase (optional sync)PostgreSQL + RLSSwiftUI (iPhone + Apple Watch)PWA / iOS + Android installGitHub Pages

Features

Key Technical Challenge

Re-architecting from a network-blocking, cloud-first design to a local-first store that writes instantly and reconciles with Supabase in the background โ€” keeping the parent-approval workflow trustworthy across devices without ever blocking a kid's tap on connectivity.

Lessons Learned

Three things stuck. Logging should never block on the network, so localStorage became the source of truth and the cloud a best-effort sync layer. Perfect business rules on paper don't survive contact with real users โ€” watching kids game the easy chores forced the real iteration. And enable row-level security from day one: it takes ten minutes and prevents disasters. Architecture should follow team size and timeline, not dogma โ€” a single-file app was the right call for a solo, fast-moving project.

Links

โ† Back to portfolio