FinGuard
Smart subscription tracker and financial assistant. Aggregates every recurring charge in one dashboard, scans Gmail and bank feeds, and pings you in Telegram before zombie subs hit the card.

The problem we were hired to solve.
Receipts in Gmail, charges in three different bank apps, no calendar of upcoming auto-renewals. Subscriptions lapsed into autopay, tier-upgrades unnoticed for months, the only feedback a quarterly 'why is the card bill so high?' moment.
One dashboard. Every recurring charge, surfaced from email + Microsoft + Plaid in real time. A calendar that shows what's about to hit. Telegram pings 7 / 3 / 1 day before. The 'should I keep this' decision happens in advance, not in retrospect.
Context
Households and small businesses bleed hundreds of dollars a year on zombie subscriptions, forgotten trials, and silent tier-upgrades. The information is scattered across Gmail receipts, bank statements, and individual provider portals — so nobody sees the full bill until it's already auto-charged.
Approach
MERN-stack FinTech platform. Smart-scan layer pulls receipts via Gmail API and Microsoft Graph (OAuth 2.0) and bank transactions via Plaid — three independent detection sources cross-check each other so a tier change doesn't slip past. Express + Node.js REST API on top of a dual store: MongoDB for flexible subscription metadata, Postgres for financial-precision tables. BullMQ on Redis runs the scheduled mail-scan and API-poll workers. Interactive React dashboard with Chart.js visualisations, charge calendar and budget forecast. Smart reminders fire to Telegram and email at 7, 3, and 1 days before each charge — enough lead time to actually cancel. JWT auth, encrypted at-rest financial data, OAuth scopes scoped to read-only.

How this project was actually made.
Every project leaves a paper trail. Figma comments, Notion specs, GitHub history, Vercel deploy logs, Telegram threads, first-week analytics. Numbers below are real and available on request under NDA.
◆ Screenshots of any artifact available on request. Confidential details redacted.
Key features
- ◆Smart-scan via Gmail API and Microsoft Graph — receipts auto-detected, no manual entry
- ◆Plaid integration for bank-transaction-level subscription detection
- ◆Interactive dashboard — Chart.js visualisations, charge calendar, budget forecast
- ◆Smart reminders in Telegram + email at 7, 3, and 1 days before each charge
- ◆BullMQ on Redis runs the scheduled mail-scan + API-poll workers
- ◆OAuth 2.0 (Google / Microsoft), JWT auth, encrypted at-rest data
Results
Pilot users average a 15% cut in monthly recurring spend after the first scan — zombie subs auto-flagged before next billing cycle. Three scan sources mean no single missed receipt loses a charge. The 7-3-1-day reminder cadence is what turns 'oh no, I forgot' into a one-tap cancel.
Tech stack
What the client said.
Within the first scan FinGuard found four subscriptions I'd forgotten about — including one priced at $19/mo that I hadn't used since 2024. Telegram nudge two days before the next charge gave me time to actually cancel. The dashboard reads like an honest receipt of my month.