Web appActive
Mochi
A cozy, mobile-first language learning and progress tracking app for groups with offline-first study and reliable multi-device sync.
Overview
Most language apps are built for scale or monetization, not for a small, focused routine shared by two people. I needed a durable, offline-capable system that stays fast, consistent across devices, and supports shared daily goals without sync conflicts.
Mochi is a local-first web app where IndexedDB is the source of truth and Supabase mirrors changes using a last-write-wins strategy. Study scheduling runs via an FSRS engine in a dedicated worker, while shared goals, streaks, and quotas keep two users aligned without sacrificing offline reliability.
Key features
- Offline-first study with Dexie as the primary data store
- FSRS scheduling running in a Web Worker for deterministic reviews
- Two-user shared goals with instant streak updates and freezes
- Daily learn/review quotas with auto-completion when no cards are due
- Remote bootstrap from CSV and safe incremental sync to Supabase
- Installable PWA with mobile-first navigation
- Global debug HUD for sync, counts, and streak diagnostics