case study
Tendere
Founder and full stack engineer: Expo, local-first sync, auth
- problem
- Recurring chores and bills are easy to miss. Shared household lists usually force an account and a network before the app is useful.
- outcome
- A shipped iOS app: Solo Mode stores tasks on-device with local notifications. Duo Mode adds email OTP auth and selective sync for one invited group.
- ownership
- Designed and implemented the Expo app, Today list, reminder scheduling, and Settings.
- Built Duo Mode: Supabase Auth (OTP), group invite codes, and PowerSync for offline-capable partner sync.
- Published App Store support, privacy, and marketing pages on olamide.dev for review and users.
- architecture
- Local-first SQLite on device. Solo Mode never leaves the phone.
- Duo Mode: Supabase for accounts and shared rows; PowerSync connector to replicate only reminders marked shared.
- Local notifications via expo-notifications using title and schedule stored on device, so Solo needs no push service.
- Turning Duo off signs out, stops sync, and returns the user’s own data to the device.
- trade-offs
- One Duo group at a time to keep sync conflict rules simple for a household product.
- Passwordless OTP instead of passwords: fewer secrets on device, one extra email step for reviewers.
- No ads or analytics SDKs so the privacy story matches the product: no tracking across apps.
- stack
- TypeScript · Expo · React Native · Supabase · PowerSync · SQLite
- live
- Product site