Skip to content

yhunko/sub-eye

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

336 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SubEye

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


Features

  • 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

Plans

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

Stack

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).


Getting started

# 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)

Environment variables

Copy the .env.example files in client/ and server/ and fill in your keys for Clerk, Neon, Paddle, Upstash, Gemini, and Telegram.

Database

bun --cwd server run db:generate   # generate migration SQL
bun --cwd server run db:migrate    # apply pending migrations

i18n (required before first type-check)

bun --cwd client run prepare   # compile Paraglide messages → src/shared/lib/i18n/

Quality checks

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 workspaces

Deploy

bun run deploy:dev    # build + wrangler deploy to dev.subeye.cc

License

MIT — see LICENSE.


Built on bhvr by Steve Simkins.