u/Salty_Protection_485

▲ 3 r/PWA

Built a PWA solo as a student project — offline support, push notifications, and the iOS install quirks nobody warns you about

Sharing JointTracker, a PWA I built for tracking cannabis consumption (sessions, spending, stats), vanilla JS + Supabase, no framework. Wanted to share some PWA-specific stuff in case it's useful to others going down this path.

**Offline support:** service worker caches the shell so the app opens and shows last-synced data even with no connection, with a banner telling the user they're viewing cached data. Changes made offline still need to sync later — handling that gracefully without silently losing data was trickier than the caching itself.

**Push notifications:** Web Push + VAPID keys, triggered server-side via Supabase Edge Functions on a cron schedule (daily reminders, low-stock alerts). Getting subscriptions to survive across reinstalls/updates and cleaning up dead ones (410/404 responses) took some iterating.

**Install experience:** manifest + icons + install prompt handling. The iOS side was the most annoying part — no native install prompt API like Chrome's `beforeinstallprompt`, so you're stuck guiding users through the manual "Add to Home Screen" flow, and some things (like push notifications) only work at all on iOS 16.4+ *and* only once the app's already installed to the home screen. Easy to miss testing that properly.

Repo's public/open source if anyone wants to see how any of it's wired up: joint-tracker.vercel.app . Happy to compare notes if others have fought similar iOS PWA battles.

Live: joint-tracker.vercel.app · Code: github.com/poggimatteo2005-prog/joint_tracker_

reddit.com
u/Salty_Protection_485 — 14 hours ago
▲ 2 r/StonerEngineering+1 crossposts

Made a free tracker app for sessions/patterns — here's how it's built (Supabase + vanilla JS)

Hey r/StonerEngineering,

Wanted to share a small build I've been working on solo: JointTracker, a session/pattern tracker built as a PWA (Progressive Web App) — so no app store required, just open the link and add it to your home screen.

The problem I was solving: I wanted actual data on my own patterns instead of guessing — when, how often, any correlation with sleep/mood/whatever — and existing options felt either too locked-down (subscription walls, forced accounts for basic logging) or just a spreadsheet, which nobody keeps updated for long.

Technical side, since this is the right sub for it:

  • Frontend: vanilla HTML/CSS/JS (no framework — kept it lightweight on purpose)
  • Backend: Supabase (Postgres + auth + realtime)
  • Hosting: Vercel
  • PWA setup with service worker for offline logging — entries queue locally and sync once you're back online
  • Push notifications for tolerance-break reminders
  • Geolocation used only for optional session tagging, nothing tracked in the background

Features:

  • Fast session logging (few taps, minimal friction — this was the main design goal)
  • Trend/stats view over time
  • Shared sessions (log jointly with a friend, pun intended)
  • Tolerance break tracker with custom goals
  • Achievements system, mostly to keep it from feeling clinical

I'm a first-year CS student, this started as a personal itch-scratch project and turned into something I actually want to keep improving. It's free, no ads, basic logging works without an account.

Happy to go into more detail on the offline-sync implementation or the Supabase schema if anyone's curious — always up for feedback, technical or otherwise, especially if something breaks in ways I haven't caught yet.

reddit.com
u/Salty_Protection_485 — 14 hours ago