Full Stack

RegretTracker

AI-Powered Expense Tracker with Personality

An automated expense tracker that turns bank email notifications into actionable insights with AI-powered analysis. Features a self-improving two-stage parsing pipeline, multi-channel ingestion, and a personality system that humorously roasts users for overspending.

Scroll

Self-improving regex from AI results

Multi-channel ingestion (Gmail + Cloudflare + manual)

Two-stage parsing pipeline (regex → AI)

Key Features

Two-stage transaction parsing: regex for fast/free extraction, Gemini AI fallback with confidence scoring

Self-improving system: AI generates new regex patterns from its own results, stored per bank for future emails

Gmail API batch sync with job-based async architecture (fire-and-forget + polling to handle Vercel’s 10s timeout)

Email forwarding pipeline: unique ingest addresses per user → Cloudflare Email Worker → webhook parsing

Bank support system with onboarding wizard (country/currency/bank selection), per-bank sender matching and regex patterns

Multi-layer transaction deduplication: database checks, intra-batch dedup, Gmail message ID tracking

Chart.js visualizations for spending patterns, category breakdowns, and period comparisons

AI personality feature: sarcastic spending roasts with daily/monthly summaries via cron jobs

Tech Stack

Nuxt 4Vue 3Tailwind CSS v4SupabaseCloudflare WorkersGmail APIOpenRouter (Gemini 2.5 Flash)Chart.jsBun