Author: Ahmed Furkhan Class: CS 5610 Web Development — Northeastern University Class link: https://johnguerra.co/classes/webDevelopment_online_summer_2026/
BudgetBuddy helps people track spending without manual categorization. When a user logs a transaction, the Groq API automatically assigns a spending category, and the app shows a live dashboard of spending vs. monthly budgets plus savings-goal tracking.
- User accounts with secure password hashing (bcrypt) and sessions
- Transaction logging with AI auto-categorization (Groq, llama-3.3-70b-versatile)
- Monthly budgets per category with full CRUD
- Spending-vs-budget dashboard with aggregation
- Savings goals with contribution tracking
- Node.js + Express (ESM)
- MongoDB (native driver — no Mongoose)
- Vanilla ES6 frontend (client-side rendering)
- Groq API for categorization
- Clone the repo and install dependencies:
npm install - Copy
.env.exampleto.envand fill in your values:MONGO_URI=... GROQ_API_KEY=... SESSION_SECRET=... - Seed the database with 1,000+ sample transactions:
npm run seed - Start the server:
npm start - Open http://localhost:3000
Demo login:
james@northeastern.edu/demo1234
This project uses the Groq API (llama-3.3-70b-versatile) as a runtime feature for transaction categorization. Generative AI tools were also used to assist with scaffolding and boilerplate; all code was reviewed and understood by the author.
MIT — see LICENSE.
