Production-ready full-stack personal finance platform for budgeting, smart allocation, tax planning, and financial goal tracking.
Overview โข Features โข Screenshots โข Tech Stack โข Architecture โข Quick Start โข Deployment
Smart Budget Tracker & Asset Allocator is a production-ready personal finance platform that helps users manage income streams, expenses, savings goals, tax planning, and smart asset allocation through a responsive full-stack dashboard.
The project combines a modern React/Vite frontend, FastAPI backend architecture, dynamic financial allocation logic, Google Sheets integration, responsive mobile-first UI, and Dockerized deployment workflows.
It is designed as a portfolio-grade engineering project demonstrating full-stack development, REST API architecture, responsive UI engineering, deployment pipelines, financial logic systems, and production-ready project organization.
| Frontend | Backend API Docs |
|---|---|
| https://smart-budget-allocator.vercel.app | https://smart-budget-allocator.onrender.com/docs |
|
|
|
|
Frontend React โข Vite โข CSS3 |
Backend FastAPI โข SQLite โข SQLAlchemy |
DevOps Docker โข Git โข GitHub |
|
Frontend Hosting Vercel |
Backend Hosting Render |
Integrations Google Sheets API |
| Account | Current | Target |
|---|---|---|
| Chequing | 1100 | 5000 |
| Savings | 400 | 20000 |
| WealthSimple | 500 | 10000 |
Monthly Income: 3600
flowchart TD
A[React + Vite Frontend] --> B[FastAPI REST API]
B --> C[SQLite Database]
B --> D[Allocation Engine]
B --> E[Tax Planner]
B --> F[Goal Tracking Engine]
B --> G[Google Sheets Import]
User Enters Financial Data
โ
React Dashboard Captures Inputs
โ
FastAPI Backend Validates Request
โ
SQLite Stores Income, Expenses, Goals, and Logs
โ
Allocation Engine Calculates Surplus, Gaps, and Priorities
โ
Tax Planner Estimates Tax Impact
โ
Goal Tracker Computes Progress and Timelines
โ
Dashboard Displays Charts, Logs, Warnings, and Recommendations
โ
Optional Google Sheets Import/Sync Updates Financial Records
โ
User Reviews Monthly Logs and Adjusts Budget Strategy
| Step | Description |
|---|---|
| 1 | User enters income, expenses, goals, and financial data |
| 2 | Frontend sends requests to FastAPI APIs |
| 3 | Backend validates and stores financial data |
| 4 | Allocation engine computes savings and goal progress |
| 5 | Dashboard visualizes financial insights |
| 6 | Logs and goals persist across sessions |
| Area | Highlights |
|---|---|
| Frontend Engineering | Responsive React/Vite dashboard with mobile support |
| Backend Engineering | Modular FastAPI REST architecture |
| Financial Logic | Dynamic smart allocation engine |
| Mobile Optimization | Horizontal table scrolling and adaptive layouts |
| Deployment | Vercel frontend and Render backend |
| DevOps | Dockerized deployment workflows |
| UX Engineering | Touch-friendly responsive finance workflows |
| Integrations | Google Sheets CSV/API synchronization |
๐ Folder Structure
smart-budget-allocator/
โโโ backend/
โ โโโ app/
โ โ โโโ api/
โ โ โโโ core/
โ โ โโโ models/
โ โ โโโ schemas/
โ โ โโโ main.py
โ โโโ tests/
โ โโโ requirements.txt
โ โโโ Dockerfile
โ
โโโ frontend/
โ โโโ src/
โ โ โโโ api/
โ โ โโโ components/
โ โ โโโ App.jsx
โ โ โโโ main.jsx
โ โ โโโ styles.css
โ โโโ package.json
โ โโโ Dockerfile
โ
โโโ docs/
โ โโโ screenshots/
โ โโโ ARCHITECTURE.md
โ โโโ DEPLOYMENT.md
โ โโโ GOOGLE_SHEETS_SETUP.md
โ โโโ USER_GUIDE.md
โ
โโโ google-sheets/
โโโ scripts/
โโโ docker-compose.yml
โโโ render.yaml
โโโ .env.example
โโโ README.md
cd backend
python -m venv venv
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000Backend:
http://localhost:8000
API Docs:
http://localhost:8000/docs
cd frontend
npm install
npm run devFrontend:
http://localhost:5173
docker compose up --build
|
|
See: docs/GOOGLE_SHEETS_SETUP.md
The backend calculates:
- current surplus
- savings gap
- investment gap
- monthly goal progress
- estimated months to goal
- recommended allocations
Default logic:
IF chequing is below target:
prioritize chequing + savings
ELSE IF savings is below target:
prioritize savings + investments
ELSE:
prioritize investments
| Capability | Description |
|---|---|
| Yearly logs | January to December tracking |
| Year selector | Dynamic selection from 2020 to 2050 |
| Editable cells | Income and expense entries can be updated |
| Auto totals | Monthly income, expenses, and balance are calculated |
| Current month sync | Ongoing month updates reflect across related tabs |
| Responsive view | Horizontal scrolling for mobile screens |
The application is optimized for:
- Android
- iPhone
- tablets
- desktop browsers
Mobile features include:
- horizontal table scrolling
- responsive layouts
- adaptive spacing
- touch-friendly navigation
- scrollable financial tables
- mobile-first dashboard workflows
| Layer | Platform |
|---|---|
| Frontend | Vercel |
| Backend | Render |
| Database | SQLite |
| Containers | Docker |
| Environment Config | .env files |
frontend/vercel.json
frontend/.env.production.example
frontend/.env.local.example
backend/start.sh
render.yaml
docker-compose.yml
docs/DEPLOYMENT.md
Run:
start-app.bat
This automatically:
- creates backend virtual environment
- installs dependencies
- launches backend/frontend
- opens browser automatically
- enables same-network mobile access
Stop local servers:
stop-app.bat
| Priority | Improvement |
|---|---|
| High | JWT authentication |
| High | PostgreSQL migration |
| Medium | AI-powered financial insights |
| Medium | Investment analytics dashboard |
| Medium | Cloud synchronization |
| Low | Email reminders |
| Low | Financial forecasting |
| Low | Multi-user collaboration |
This project is licensed under the MIT License.
This project is intended for budgeting, financial organization, and planning purposes only.
It does not provide legal, tax, financial, or investment advice.


