
The Problem
Manual expense tracking is tedious and time-consuming. Most people abandon it after a few days because categorizing expenses, analyzing spending patterns, and generating insights requires constant effort. There was a need for an intelligent system that could automate the entire process while providing actionable financial insights.
The Solution
Finsight AI eliminates manual work by leveraging Google Gemini AI to automatically categorize expenses and generate spending insights. Users simply type their expense (e.g., "Bought groceries for ₹500"), and the AI instantly detects the category as "Food & Dining". The system then analyzes spending patterns and provides monthly insights with visual charts and AI-generated summaries.
AI-Powered Categorization
Gemini AI automatically detects and categorizes expenses from natural language input—no manual selection needed.
Spending Insights
AI generates personalized spending summaries and insights, helping users understand their financial habits.
Visual Analytics
Monthly spending breakdown with interactive pie charts showing category-wise expense distribution.
Smart Search
Quickly find past expenses with intelligent search functionality across all your transactions.
Tech Stack
System Architecture
Deployment: Backend hosted on Railway | Frontend deployed on Vercel
My Role & Contributions
- •Architected and built the entire Flask REST API backend from scratch
- •Designed MongoDB schema for efficient expense data storage and retrieval
- •Integrated Google Gemini API for AI-powered expense categorization and insights generation
- •Implemented Celery + Redis for asynchronous task processing to ensure seamless user experience
- •Deployed and maintained production application on Railway with proper environment configuration
Technical Challenge Solved
Challenge: Processing AI Calls Without Blocking Users
Calling Gemini API directly from Flask routes would block the request until the AI finished processing. This created a poor user experience where users had to wait for categorization before seeing their expense logged.
Solution: Async Processing with Celery & Redis
Implemented a background task queue using Celery and Redis to handle AI categorization asynchronously:
- User submits expense—API immediately returns success and logs the transaction
- Celery worker picks up the AI categorization task from the queue
- Gemini API processes the expense description in the background
- Results are stored in MongoDB and cached in Redis for future use
- Frontend updates automatically when categorization completes
Result: Users get instant feedback when adding expenses, while AI processing happens seamlessly in the background.
Key Learnings
Real-World API Handling
Learned how to handle external API rate limits, timeouts, and failures gracefully in production environments.
System Integration
Gained experience combining multiple components: Backend + AI API + Database + Frontend into a cohesive product.
Async Processing
Mastered Redis and Celery for task queue management, significantly improving application performance and UX.
Want to see it in action?
The application is live and deployed. Check out the demo or view the source code.