vibe-coding / checkspent

CheckSpent

An AI subscription detector that reads a PDF statement. No bank login, one payment, no subscription.

www.checkspent.com

367 commits105 real statements tested542 files
CheckSpent — Upload a bank statement, get back the subscriptions you forgot you were paying. Built with AI.

Context

An AI subscription detector. Its own promise: AI powered subscription detection from your bank statement. Discover hidden charges and save money. You upload a PDF statement, a language model identifies the recurring charges, and you get back a report on its own private link. One payment, no subscription.

The workflow

Designed and built in code, with AI as the build partner. No design file, no specification, no handover between design and development. The AI pipeline and the interface were built together, not by separate teams in sequence.

What changed

  • Design and development were the same step.
  • When the model misreads a merchant, the user corrects it and the correction feeds back into the system, with no ticket and no release.
  • One person covered positioning, AI pipeline, design and build.

Result

Product, payment flow and correction loop in production.

17 days of effort across 41 active days. 367 commits.

What shipped

  • A detection model that combines a language model with hard coded rules. The rules handle what can be resolved without AI, so the model only processes what is left. Less time per statement, fewer tokens per run.
  • The full site, responsive, with one time payment.
  • The PDF reading and detection pipeline, with a private report link per user.
  • User correction of misread merchants, feeding back into the system.
  • Comparison pages against Mint, Monarch Money, PocketGuard, Hiatus and WeMoney, built for search and growth.

Stack

  • Next.js (App Router) + TypeScript
  • Tailwind CSS
  • Supabase — Postgres and Auth
  • Vitest
  • 542 files

Integrations

  • OpenAI — extraction
  • Stripe — one-off payment and webhooks
  • Resend — transactional email
  • Upstash Redis — rate limiting
  • Cloudflare Turnstile — bot protection
  • pdf-parse and sharp

Infrastructure

  • Vercel
  • Supabase Postgres
  • GitHub
  • Scheduled jobs
  • Vitest in continuous integration
  • Four price tiers, one-off payment