The Expense Tracker helps users effortlessly track and manage their personal expenses through intuitive interfaces, insightful analytics, and a conversational AI assistant.
Daily expense tracking can be tedious and prone to error. The Expense Tracker streamlines this by offering:
- Quick Expense Entry: Log purchases with minimal steps.
- Automated Categorization: Assign spending to categories for clarity.
- Real-Time Insights: View trends and breakdowns as you log.
- Conversational Assistance: Ask questions and get budgeting advice via an AI chatbot.
This solution targets individuals seeking control over their finances without the hassle of manual spreadsheets.
-
Dashboard Metrics:
- Displays key figures: total spend, total savings, average daily/weekly/monthly expenditures.
- Interactive time-range selector to view trends over custom periods (e.g., this week vs. last week).
- Comparison cards highlighting change percentages from previous periods.
-
Category Breakdown:
- Pie and bar charts visualizing spend distribution by category (e.g., Food, Transport, Entertainment).
- Top 3 categories by spend prominently featured.
- Drill-down capability: click a category to see individual transactions and subcategory details.
-
Recurring Expenses:
- Schedule fixed payments (rent, subscriptions) on a daily, weekly, or monthly cadence.
- View upcoming and past recurring transactions in a dedicated calendar view.
- Easily pause or cancel individual recurring entries.
-
Budget Alerts:
- Define budget limits per category or overall monthly spending.
- Push and email notifications when spending reaches 75%, 90%, and 100% of budgets.
- Alert history log to review past warnings and user responses.
-
AI Chatbot:
-
Toggleable chat window accessible via a floating button.
-
Embedded via an <iframe> pointing to a Chatbase chatbot service for instant conversational assistance.
-
Handles natural-language queries and offers personalized budgeting advice.
-
Styled and controlled with React state (useState) and custom CSS for seamless user experience.
-
Natural-language interface for on-demand queries:
- Sample prompts: “Show my top three expenses this month,” “Did I stay under my food budget?”
-
Context-aware recommendations, e.g., suggesting ways to reduce recurring costs.
-
Learning over time: remembers user preferences (e.g., preferred categories) to tailor responses.
-
- Monthly Budgeting: Plan and monitor spending against a monthly budget.
- Expense Auditing: Review past transactions to identify cost-saving opportunities.
- Goal Tracking: Set and track savings goals, with progress updates.
- On-the-Go Logging: Quickly capture expenses immediately after purchase.
- Financial Guidance: Get tailored advice without needing a financial advisor.
- Frontend: React, Vite, and TypeScript
- Backend: Python with Flask and Axios for client‑server communication
- Database: MongoDB for persistent data storage
User authentication screen with email/password fields.
Overview with buttons to add/view incomes, expenses, reminders, goals and summary charts.
Form to input a new expense entry (amount, category, date).
Form to log a new income entry (source, amount, date).
Confetti animation celebrating a successfully added income.
Interface for defining and tracking a financial savings goal.
Scheduler for creating upcoming payment or budget reminders.
List of past expenses with filters for category, date, and amount.
Current month’s total income summary with history of past entries.
View of ongoing, completed, and unachieved financial goals.
AI‑powered prediction of next month’s expenses based on your history.
Interactive chatbot offering real‑time, personalized financial tips.
- POST
/login– authenticate and receive a JWT. - POST
/signup– create a new user account. - GET
/monthlyIncome&/monthlyExpenses– grab your totals for the current month. - POST
/addIncome&/addExpense– record an income or an expense. - GET
/getIncomes– list all your income entries. - GET
/expenses– list all your expense entries (supports filters). - DELETE
/deleteIncome/:incomeId– remove an income entry by ID. - DELETE
/deleteExpense/:expenseId– remove an expense entry by ID. - GET
/expenseBreakdown– see your spend broken out by category. - GET
/aiBudgetTips– fetch AI‑powered budgeting advice. - PUT
/updateSavingsPercentage– set your target savings rate.
project-root/
├── Expense-Tracker/ # React + Vite frontend
│ ├── public/ # Static assets (HTML, icons)
│ ├── src/ # Source code
│ │ ├── assets/ # Images and media
│ │ ├── components/ # Reusable React components
│ │ ├── styles/ # CSS/SCSS files
│ │ ├── App.css # Global styles
│ │ ├── App.tsx # Root React component
│ │ ├── api.ts # API utility functions
│ │ ├── index.css # Base styling
│ │ ├── main.tsx # Entry point for React app
│ │ └── vite-env.d.ts # Vite type declarations
│ ├── .gitignore
│ ├── README.md # Frontend-specific README
│ ├── eslint.config.js # Linting rules
│ ├── index.html # HTML template
│ ├── package-lock.json
│ ├── package.json # Frontend dependencies and scripts
│ ├── tsconfig.app.json # TS config for application code
│ ├── tsconfig.json # Base TS config
│ ├── tsconfig.node.json # TS config for Node scripts
│ └── vite.config.ts # Vite build configuration
│
├── __pycache__/ # Python bytecode cache
├── .env # Environment variables for backend
├── README.md # Project-wide documentation
└── app.py # Flask backend entrypoint
- Mobile App: Native iOS/Android apps for seamless tracking.
- Receipt Scanning: OCR to extract data from photographed receipts.
- Bank Sync: Automated import of transactions from financial institutions.
- Advanced Analytics: Predictive forecasting and spending anomaly detection.
- Social Sharing: Share achievements and savings milestones with a community.











