Full-stack personal finance manager built with Next.js, MongoDB, and Tailwind CSS
Embedded live demo (opens inline). Use the buttons above for a full-page experience.
ERD: a user owns many accounts and transactions; accounts post many transactions; users track budgets (categories), recurring bills, and savings goals; notifications link back to the user. All entities carry timestamps and optional metadata like bankName, limits, and categories.
The Personal Finance Dashboard is a modern Next.js 16 application for consolidating everyday money management. Users can track accounts, import transactions, manage budgets, set savings goals, schedule recurring bills, and receive notifications—powered by MongoDB persistence and a responsive, accessible UI.
Track checking, savings, cards, and cash with aggregate balance views.
List, filter, and categorize transactions for spending insights.
Monitor category budgets and savings goals with visual progress.
Manage due dates, amounts, and reminders for subscriptions and bills.
Centralized alerts for budgets, bills, and account activity.
Mongoose models for accounts, transactions, budgets, goals, and bills.
npm installMONGODB_URI, DB_NAMEnpm run dev → http://localhost:3000Upload a PDF bank statement and the pipeline extracts text locally, sends it to `/api/transactions/parse`, and runs GPT-4 class parsing with Mistral → HF router → OpenAI → regex fallbacks to normalize amounts/dates and propose categories. You review flagged duplicates and suggestions before saving.
Key screens across accounts, transactions, budgets, recurring bills, categorization, imports, and analytics.
Guided tour overlay introduces key areas—dashboard, navigation, and help entry point. Runs when the user clicks the Help button above Logout (and on first visit) so onboarding stays user-triggered.
Aggregates account balances (credit, checking) with real-time totals and CRUD on accounts. Data flows from MongoDB models; optimistic UI keeps the list responsive.
Manages scheduled bills with due dates, amounts, and status chips. Reminders and statuses are computed server-side; UI highlights overdue items for quick triage.
Shows budget envelopes, spend progress, and monthly trends with Fabric-style charts. Budget utilization is derived from categorized transactions; components are Tailwind + Radix primitives.
Lists unique merchants with batch category assignment and sample transactions. Category mapping updates are applied to all matching records server-side to keep analytics aligned.
Presents KPIs, recent activity, and donut breakdowns for expenses. Uses pre-aggregated queries for totals and category splits to keep charts snappy.
AI-assisted PDF ingestion: client extracts text and posts to `/api/transactions/parse`, which prefers Mistral (if key) → HF router (Mistral-7B) → OpenAI GPT-4 class (if key) → regex fallback, then returns parsed JSON and summary for human review. Suggests categories, flags duplicates, and only saves after approval.
Full ledger with filters, categories, statuses, and export controls. Column-level filters and server-backed pagination keep large datasets fast.