A full-stack budget tracking application designed with ADHD-friendly UX principles. Track expenses, manage categories, and visualize spending patterns across all your devices.
- 3-tap expense entry - Add transactions in seconds
- Visual budget indicators - Color-coded progress bars
- 6 customizable themes - Match your mood
- Quick category navigation - No scrolling through long lists
- 12 pre-configured categories - Groceries, rent, entertainment, and more
- Auto-scaling budgets - Adjusts proportionally to your income
- Real-time tracking - See spending updates instantly
- Weekly & monthly views - Track patterns over time
- Interactive charts - Pie charts and bar graphs
- Spending trends - Week-by-week analysis
- Category breakdown - See where your money goes
- Monthly history - Year-long tracking
- Cloud-powered - All data synced to PostgreSQL
- Multi-device support - Access from phone, tablet, or computer
- Real-time updates - Changes appear everywhere instantly
- Secure authentication - Email/password + Google OAuth
- Responsive design - Works perfectly on any screen size
- PWA-ready - Install as an app on your phone
- Touch-friendly - Large buttons and intuitive gestures
- React 18 - Modern UI library
- Vite - Lightning-fast build tool
- Lucide React - Beautiful icon library
- CSS-in-JS - Styled components with inline styling
- Node.js - JavaScript runtime
- Express - Web application framework
- PostgreSQL - Robust relational database
- JWT - Secure authentication
- Passport.js - Google OAuth integration
- Vercel - Frontend hosting (CDN-powered)
- Railway - Backend hosting with PostgreSQL
- GitHub - Version control
- CORS - Secure cross-origin requests
Main dashboard showing budget categories and spending overview
3-tap expense entry - category, amount, description
- Node.js 18+
- npm or yarn
- PostgreSQL database (or use Railway)
# Clone the repository
git clone https://github.com/pelzade127/budget-buddy-frontend.git
cd budget-buddy-frontend
# Install dependencies
npm install
# Create .env file
echo "VITE_API_URL=http://localhost:3001" > .env
# Start development server
npm run devFrontend will be running at http://localhost:5173
# Clone backend repository
git clone https://github.com/pelzade127/budget-buddy-backend.git
cd budget-buddy-backend
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Edit .env with your database credentials
# Run database migrations
npm run migrate
# Start server
npm startBackend will be running at http://localhost:3001
- Push code to GitHub
- Connect repository to Vercel
- Add environment variable:
VITE_API_URL=<your-backend-url> - Deploy!
- Push code to GitHub
- Create new Railway project
- Add PostgreSQL plugin
- Set environment variables
- Deploy!
See DEPLOYMENT.md for detailed instructions.
VITE_API_URL=https://your-backend-url.railway.appDATABASE_URL=postgresql://user:password@host:port/database
JWT_SECRET=your-jwt-secret-key
SESSION_SECRET=your-session-secret
FRONTEND_URL=https://your-frontend-url.vercel.app
GOOGLE_CLIENT_ID=your-google-oauth-id
GOOGLE_CLIENT_SECRET=your-google-oauth-secretPOST /auth/register- Create new accountPOST /auth/login- Login with email/passwordGET /auth/google- Login with Google OAuth
GET /api/categories- Get all user categoriesPOST /api/categories- Create new categoryPUT /api/categories/:id- Update categoryDELETE /api/categories/:id- Delete category
GET /api/transactions- Get all transactionsPOST /api/transactions- Create new transactionPUT /api/transactions/:id- Update transactionDELETE /api/transactions/:id- Delete transaction
GET /api/user/profile- Get user profilePUT /api/user/settings- Update user settings
Budget Buddy was designed with neurodivergent users in mind:
- Minimal cognitive load - Only show what's needed
- Fast interactions - 3 taps to add an expense
- Visual feedback - Color-coded progress indicators
- Consistent patterns - Same interactions throughout
- No overwhelming choices - Sensible defaults
- Forgiving UX - Easy to edit or delete mistakes
- Recurring transactions (subscriptions, bills)
- Budget goals and alerts
- Export data (CSV, PDF)
- Expense categories autocomplete
- Receipt photo uploads
- Shared budgets (family/roommates)
- Bill reminders
- Savings goals tracker
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Esther "Pelz" Ademuwagun
- LinkedIn: linkedin.com/in/yourprofile
- GitHub: @yourusername
- Built with guidance from Claude (Anthropic)
- Icons by Lucide
- Hosted on Vercel and Railway
- Designed for neurodivergent users
If you have any questions or run into issues:
- Open an issue
- Email: estherade127@gmail.com
Made with β€οΈ for better budgeting



