spin0 portfolio
Purposeful Daily Routine
A simple, quiet routine app built to bring structure to my days
Open the app
The seed
- During a period when weekdays and weekends felt indistinguishable, I wanted a gentle way to regain a sense of rhythm.
- I needed something calm and intentional — not a task manager, not a habit tracker, just a simple daily flow.
Early exploration
- I looked for existing apps, but Google Tasks and other schedulers didn’t match what I needed.
- Most similar apps on the Play Store were cluttered with ads.
- I realized I needed to build something quiet and supportive, without notifications or pressure.
Prototype
- Started with a minimal data model: a list of routine sections, each with a title and optional times and duration.
- Designed the layout mobile‑first, since the app is meant to be checked throughout the day.
- Added a weekly calendar strip to show the day of the week and how far the week had progressed.
- Built the first version entirely in local mode to keep the workflow simple.
Building the app
- Built with Vite + React for a lightweight, responsive experience.
- Added sign‑in and Supabase sync to keep data consistent between desktop and mobile.
- Added seasonal themes with subtle wallpapers and a themed Add button.
Challenges
- Troubleshooting Supabase took time — from schema adjustments to row‑level security rules to syncing logic.
- Implementing the weekly calendar required several iterations with different calendar libraries.
- Balancing simplicity with convenience: keeping the app minimal while still making it cheerful and useful.
What I learned
- How to integrate Supabase for cross‑device sync while keeping the local‑only mode simple and reliable.
- How to design a mobile‑first layout that still scales gracefully to desktop.
What I’d explore next
- A smoother way to reorder routine sections (currently reordering happens implicitly by time).
- While the app isn’t meant to be a habit tracker, I’m exploring a lightweight weekly view to show how consistently the routine is followed.