Expenser - AI-powered personal finance manager
A modern expense tracking platform for understanding personal spending habits.

— Overview
The Problem
Tracking daily expenses manually becomes difficult as transactions increase and users lack a clear overview of where their money is being spent.
The Solution
Expenser provides a simple and intuitive interface where users can record expenses, organize them by categories, and visualize spending patterns using a dashboard.
The Impact
- Simplifies personal financial tracking
- Helps users understand spending patterns
- Provides a centralized system for managing expenses
— Key Highlights
Full-stack expense tracking application with real-time dashboard insights
Clean and responsive UI built with Next.js and TailwindCSS
AI smart categorixation to reduce manual work
Type-safe architecture using TypeScript
RESTful API for efficient expense CRUD operations
Personalized AI insights for better financial decisions
— System Architecture
Frontend
Built using Next.js to create a fast and responsive user interface. TailwindCSS is used for modern styling, while client-side state management ensures smooth and interactive UI experiences.
Backend
A Node.js and Express.js server handles API requests, business logic, and expense CRUD operations. Clerk is integrated for secure user authentication and session management.
Database
Neon (serverless PostgreSQL) is used to store user accounts, expense records, and categories. Prisma ORM manages the database schema and enables type-safe queries and efficient data access.
Deployment
The frontend is deployed on Vercel for optimized performance and global edge delivery, while the backend services run independently with seamless integration to the database.
— Features
Expense Management
Users can add, edit, and delete expenses while specifying amount, category, and notes, either by typing in natural language or by uploading a receipt.
AI Smart Categorization
Gemini AI automatically categorizes expenses based on transaction descriptions and receipt data.
Analytics Dashboard
Interactive dashboard summarizes total spending and displays insights into user financial behavior.
Predictive Spending Forecast
Using historical expense data, the system predicts future spending trends and estimates the user's end-of-month expenses, helping them plan finances more effectively.
Budget Tracking & Smart Alerts
Users can set monthly spending budgets for different categories. The system monitors expenses in real time and sends alerts when spending approaches or exceeds the defined limits.
— Engineering Deep Dive
Component-Based Architecture
The frontend is built using reusable React components in Next.js, enabling modular development, easier maintenance, and scalable UI architecture.
Efficient API Design
The Node.js and Express backend exposes structured REST APIs optimized to minimize redundant queries and efficiently fetch expense data.
Redis Caching Layer
Redis is used as an in-memory caching layer to store frequently accessed data such as user summaries and analytics results, significantly reducing database load and improving response times.
Type-Safe Development
TypeScript is used across both frontend and backend to ensure type safety, improve developer productivity, and reduce runtime errors.
— Gallery

— What I Learned
Building a complete full-stack application using Next.js, Node.js, and Express
Designing efficient database schemas and managing data access using Prisma with Neon PostgreSQL
Structuring scalable React component architectures
Implementing Redis caching to reduce database load and significantly improve API response times
Integrating AI capabilities using the Gemini API and applying prompt engineering to extract structured data
— Challenges Faced
Designing a scalable data model for storing and querying large volumes of expense records efficiently
Implementing reliable AI receipt parsing using Gemini while ensuring accurate extraction of structured data
Optimizing API performance and reducing database load using Redis caching for frequently accessed analytics data
Handling asynchronous background workflows for generating monthly AI insights using event-driven jobs