Track, analyze, and tame your recurring subscriptions.
SubEye is an open-source subscription management app. Add your subscriptions, get renewal alerts via push notifications or Telegram, visualize your monthly spend, and use the AI-powered comparator to make smarter billing decisions.
Live app → app.subeye.cc
- Dashboard — monthly spend, cash flow chart, upcoming renewals, category breakdown, and yearly totals at a glance
- Subscription tracking — name, cost, currency, billing period, payment date, notes, auto-pay flag, and cancellation scheduling
- Renewal notifications — web push and Telegram bot alerts with configurable lead time
- Comparator — side-by-side subscription comparison with AI insights (Google Gemini)
- Categories — custom categories with AI-assisted auto-categorization
- Price change scheduling — track future price increases before they hit
- Family / team spaces — shared subscriptions and analytics for groups
- i18n — English and Ukrainian (
uk) out of the box; base locale is Ukrainian, English served alongside
| Free | Plus | Family | |
|---|---|---|---|
| Subscriptions | 20 | 50 | Unlimited |
| Categories | 20 | Unlimited | Unlimited |
| Comparisons / month | 10 | Unlimited | Unlimited |
| AI insights / month | 10 | 300 | 300 |
| Telegram templates | — | Yes | Yes |
| Group sharing | — | — | Yes |
Built on the bhvr monorepo template.
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Frontend | React 19 + Vite + TanStack Router |
| Backend | Hono deployed as a Cloudflare Worker |
| Database | Neon PostgreSQL + Drizzle ORM |
| Auth | Clerk |
| Billing | Paddle |
| Async workflows | Upstash QStash |
| AI | Google Gemini |
| Notifications | Web Push + Telegram Bot API |
| i18n | Paraglide (inlang) |
| Monorepo | Turbo |
Three workspaces: client/ (React PWA), server/ (Hono Worker), shared/ (types, schemas, utilities).
# Install all workspace dependencies
bun install
# Start client + server concurrently
bun run dev
# Or individually
bun run dev:client # Vite dev server
bun run dev:server # Hono server (watch mode)Copy the .env.example files in client/ and server/ and fill in your keys for Clerk, Neon, Paddle, Upstash, Gemini, and Telegram.
bun --cwd server run db:generate # generate migration SQL
bun --cwd server run db:migrate # apply pending migrationsbun --cwd client run prepare # compile Paraglide messages → src/shared/lib/i18n/bun run lint # Biome check across the repo
bun run lint:fix # Biome check with safe writes
bun run format # Biome formatter
bun run type-check # TypeScript across all workspaces
bun run test # Tests across all workspacesbun run deploy:dev # build + wrangler deploy to dev.subeye.ccMIT — see LICENSE.
Built on bhvr by Steve Simkins.