CS-02 · CASE STUDY · 2026
HiLo — a journaling app my family actually uses
A daily highs-and-lows journal with private family circles. Flutter + Supabase, shipped to iOS and the web in a single sprint.
- Role
- Designer & developer
- Year
- 2026
- Stack
- Flutter · Supabase · Cloudflare Pages · Web Push
The idea
One entry a day: a high, a low, a mood. Shared into private circles — family, close friends — with the option to keep a low anonymous when you want support without the spotlight. Hilo is Spanish for thread: the through-line of a family’s days.
The build
Flutter + Supabase, with row-level security doing the heavy lifting for privacy. Postgres RPCs handle the social surface — feeds, streaks, reactions, comments — with server-side anonymity masking so an anonymous low is anonymous at the API layer, not just in the UI.
Shipped as a native iOS app and an installable PWA, with web push for daily reminders scheduled per-user in their own timezone.
Favorite bugs
- iOS Safari reports human-readable timezone names (“Central Daylight Time”) where the rest of the world expects IANA zones — one bad row took down every streak calculation until a
safe_tz()guard went in. - A status-bar style setting offset every tap target on the iOS PWA by the height of the status bar. The fix was one word.
Why it matters
Streaks, confetti on milestones, and gentle reminders turned “dad’s app” into a habit. The user base is small and lives in my house, which makes it the highest-stakes deployment I run.