SubTrack

SubTrack is a subscription management app powered by Google Gemini AI. It helps you keep track of all your recurring software costs in one dashboard, even across different currencies. It reminds you before upcoming payments through Telegram, WhatsApp, or Email, and can automatically pull invoices from your Gmail account using secure Google sign-in.
Problems & Solutions
Eliminates surprise bank charges with configurable multi-channel notifications (Email, Telegram, WhatsApp) dispatched X days ahead of every recurring billing renewal cycle.
Normalizes global subscriptions billed across disparate currencies (USD, EUR, GBP, MAD) into a single reference currency with live exchange rates automatically refreshed every 6 hours.
Identifies duplicate subscriptions, forgotten trials, and unutilized licenses with automated savings suggestions to optimize recurring operational expenditure.
Streamlines expense reporting through secure Gmail OAuth 2.0 integration and multimodal AI parsing powered by Google Gemini to extract vendor, amount, currency, and renewal date.
Replaces scattered spreadsheets with centralized analytics featuring 6-month expenditure trends, category breakdowns, top cost drivers, and CSV/JSON data export.
Key Features
A centralized command center visualizing normalized monthly and annual spending, upcoming 30-day deadlines, active contracts, and dynamic category breakdown charts.
Full lifecycle management allowing users to pause, cancel, modify, or reactivate subscriptions, with automatic next-billing-date rollover across weekly, monthly, quarterly, and annual intervals.
Robust cron architecture driven by Jakarta EJB Timers executing billing rollovers (daily at 00:05), alert dispatches (daily at 08:00), forex exchange rate updates (every 6 hours), and invoice analysis queues (every 5 minutes).
Multimodal LLM pipeline that scans receipts and invoices imported from Gmail, automatically structuring billing entities and eliminating manual data entry.
Unified notification pipeline dispatching timely warnings via SMTP Email, Telegram Bot, and WhatsApp Cloud API before credit cards get charged.
Comprehensive back-office panel providing user lifecycle control (instant suspension/reactivation), SaaS service catalog curation, exchange rate monitoring, and encrypted API credential management with live connection tests.




Tech Stack
Technologies and tools used to bring this project to life
My Role
My contributions and responsibilities in this project
Lead Full-Stack Engineer & System Architect
- Jakarta EE Architecture : Designed and implemented the N-tier backend using Java 17, Jakarta EE 10 (Faces, CDI, JPA, EJB Timers), and deployed on WildFly 31 application server.
- AI & External API Integration : Built the Google Gemini AI invoice parsing pipeline, implemented Google OAuth 2.0 for Gmail synchronization, and engineered messaging integrations with Telegram Bot and WhatsApp APIs.
- Relational Data Modeling & Migrations : Structured the relational database schema in PostgreSQL and managed automated versioned migrations using Flyway.
- Security & Hardening : Implemented BCrypt password hashing, single-use SHA-256 reset tokens, IP/email brute-force throttling filters, and role-based access control (RBAC).
- Automated Task Scheduling : Developed persistent EJB Timer Services for high-availability scheduling of billing advances, alert dispatches, and exchange rate updates.
- Responsive Web Interface : Developed the full web presentation layer with Jakarta Faces and PrimeFaces, creating an elegant modern dashboard experience.
