
I Built a Subscription Tracker That Works as Both a PWA and a Telegram Mini App
A few months ago I had a simple problem: too many subscriptions, zero visibility into what I was actually paying. The standard fixes (spreadsheet, notes app) never stuck. So I built Subeasy. A subscription tracker that lives inside Telegram and also works as a standalone PWA. Same codebase, two platforms Here's what the build actually looked like The stack • Next.js 16 (App Router) • React 19 + TypeScript 5 • Tailwind CSS 4 • Framer Motion for animations • Supabase (PostgreSQL) for cloud sync • Recharts for analytics • Vercel for deploys Nothing exotic. The interesting part isn't the stack, it's the decisions around data and platform Offline-first, always The biggest design decision early on: localStorage as the source of truth, Supabase as the sync layer. Every subscription lives in localStorage first. The app fully works without a network connection or even an account. When the user logs in, it syncs to Supabase. The sync strategy: full pull from remote, merge (remote wins on conflic
Continue reading on Dev.to Webdev
Opens in a new tab




