Skip to content

LKRamen/DivHacks2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

Budgeteer

Student-first budgeting dashboard built at DivHacks 2025. It pulls spending data from Capital One Nessie, visualizes category breakdowns, and uses an AI assistant for summaries, tips, and chat.

Features

  • Auth0 sign-in with onboarding survey to capture goals and focus categories.
  • Nessie API integration to pull accounts/purchases and classify categories.
  • Visual dashboards: donut chart, horizontal bar chart, transaction list.
  • AI-generated spending summary and budgeting tips tailored to the survey data.
  • Chatbot for contextual budgeting Q&A.
  • Profile import/export plus server-side profile persistence.

Architecture

  • Frontend: React (Create React App) + Tailwind CSS + Recharts.
  • Backend: Express server with /api/chat (OpenAI) and /api/profile endpoints.
  • Data flow: Auth0 user -> Nessie customer -> purchases -> category totals.

Project Structure

  • budgeteer/ React app
  • budgeteer/server/ Express API and profile storage

Requirements

  • Node.js 18+ and npm
  • Auth0 app (domain + client id)
  • Capital One Nessie API key
  • OpenAI API key (server)

Environment Variables

Create budgeteer/.env:

REACT_APP_AUTH0_DOMAIN=your-auth0-domain
REACT_APP_AUTH0_CLIENT_ID=your-auth0-client-id
REACT_APP_NESSIE_API_KEY=your-nessie-api-key

Create budgeteer/server/.env:

OPENAI_API_KEY=your-openai-api-key
PORT=3001

Run Locally

  1. Start the API server:
cd budgeteer/server
npm install
npm run dev
  1. Start the client:
cd budgeteer
npm install
npm start

Open http://localhost:3000.

Notes

  • The React app proxies /api/* to http://localhost:3001.
  • Nessie lookup matches on the Auth0 user name (first/last). If no customer exists, the app will show a "No customer found" error.
  • Profiles are stored in budgeteer/server/profiles.json on the server.

Credits

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •