A smart budgeting application that leverages AI to help users track expenses, categorize spending, and receive personalized financial insights.
- AI-Powered Categorization: Automatically categorizes expenses based on descriptions
- Smart Budget Analysis: Get personalized insights about your spending habits
- Interactive Dashboard: Visualize your spending with dynamic charts
- Budget Recommendations: Receive category-based budget recommendations
- Local Storage: Remembers your budget between sessions
- Responsive Design: Works on desktop and mobile devices
The main dashboard displays your current budget, expense input form, and list of recent expenses.
The analysis section provides a visual breakdown of your spending categories, remaining budget, and personalized insights.
- Frontend: HTML, CSS, JavaScript, Chart.js
- Backend: Java with Spring Boot
- AI Components:
- Expense category prediction service
- Budget recommendation engine
- Spending analysis algorithms
- JDK 11 or higher
- Maven 3.6+ or Gradle 7+
- Node.js and npm (optional, for frontend development)
-
Clone the repository
git clone https://github.com/Mohak-Nagaraju/AI_Expense_Tracker.git cd AI_Expense_Tracker -
Build the project
mvn clean install # or with Gradle ./gradlew build -
Run the application
mvn spring-boot:run # or with Gradle ./gradlew bootRun -
Open your browser and navigate to
http://localhost:8080
- Enter your monthly budget amount in the "Set Your Budget" card
- Click "Set Budget" to save it
- Enter the expense amount and description
- The AI will automatically suggest a category based on your description
- You can override the AI category if needed by expanding the "Override AI Category" dropdown
- Click "Add Expense" to save
- After adding expenses, click "Analyze My Spending"
- View your expense breakdown in a visual chart
- Review AI-generated insights about your spending habits
- Check the budget recommendations for each category
The application uses pattern recognition to categorize expenses. It analyzes the description of each expense and matches keywords to appropriate categories such as:
- Food (restaurant, lunch, dinner)
- Transportation (gas, uber, train)
- Entertainment (movie, netflix)
- And more
Budget recommendations are calculated using:
- The 50/30/20 budgeting rule as a baseline
- Your actual spending patterns
- Category-specific adjustments
The AI analysis engine provides insights by:
- Comparing your spending to your budget
- Identifying high-spending categories
- Suggesting areas for potential savings
- Recommending budget allocations
βββ src/
β βββ main/
β β βββ java/com/expensetracker/
β β β βββ controller/ # REST API endpoints
β β β βββ model/ # Data models
β β β βββ service/ # Business logic
β β β βββ ExpenseTrackerApplication.java
β β βββ resources/
β β βββ static/ # Frontend files
β β β βββ index.html
β β β βββ script.js
β β β βββ styles.css
β β βββ application.properties
β βββ test/ # Test files
βββ pom.xml # Maven configuration
βββ README.md # Project documentation
To add new expense categories:
- Update the
index.htmlfile to include new options in the category dropdown - Add new category patterns in
ExpenseCategoryPredictionService.java - Add corresponding CSS styles for the new categories in
styles.css
The budget allocation rules can be adjusted in BudgetRecommendationService.java by modifying the recommendedAllocation map.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Chart.js for visualization components
- Spring Boot framework
- Poppins font from Google Fonts
Developed by - Mohak Nagaraju | Portfolio