A lightweight, offline-first drink tracking PWA built because the drink tracking app I used required an internet connection to work.
https://jamestill-dev.github.io/sip-tracker/
On iPhone: Safari → Share → Add to Home Screen for a full native-like experience.
- One-tap logging — track beer, wine, and liquor with + / − buttons
- Configurable settings — set cost and calories per drink type, weekly limit goal
- Weekly progress bar — segmented by drink type, turns red when you're over limit
- History view — calendar with drink intensity dots + scrollable day-by-day log
- Stats screen — charts showing trends over time
- Fully offline — works with zero internet connection, data stored in IndexedDB
- Cloud sync — optional magic link email login backs up and syncs across devices via Supabase
- Export / Import — download your data as JSON anytime
- Open the app and tap + to log a drink
- Tap the cog icon to open Settings and configure costs, calories, and your weekly limit
- View your history and stats via the bottom navigation
- Optionally sign in under Cloud Sync with your email to enable backup and cross-device sync
| Layer | Tool |
|---|---|
| Frontend | Vanilla HTML / CSS / JS |
| Local storage | Dexie.js (IndexedDB wrapper) |
| Auth + cloud sync | Supabase |
| Offline support | Service Worker (PWA) |
| Hosting | GitHub Pages |
- Clone the repo
- Create a Supabase project and run
supabase-schema.sqlin the SQL Editor - Create a
supabase.jsfile in the root with your project URL and publishable key (seesupabase-schema.sqlfor the expected format) - Add your app's URL to Supabase → Authentication → URL Configuration → Redirect URLs
- Serve with any static file server
supabase.jsis excluded from the repo via.gitignore. The app works fully offline without it — cloud sync is optional.
MIT