π Transform your financial management with insights and automated receipt processing
A production-ready, full-stack application that revolutionizes personal finance management, automated receipt processing, and real-time analytics. Built with enterprise-grade security and scalability in mind.
By Jaya Harsh Vardhan Alagadapa (IIITS)
- Intelligent Transaction Categorization - Categorization of transactions using catefory mappings
- Custom Categories & Tags - Create personalized categories and tags for better organization
- Automated Bill Payments - Set up and manage recurring payments with autopay functionality
- Dual OCR Engine - Combines Tesseract.js with Google's Gemini Vision API for optimal text extraction
- Primary: Tesseract.js with custom image preprocessing for standard receipts
- Fallback: Google Gemini Vision API for challenging images with poor quality or complex layouts
- Smart Data Extraction - Automatically identifies:
- Merchant names and contact information
- Transaction amounts and currency
- Purchase dates and times
- Line items and quantities
- Tax and tip amounts
- PDF Statement Import - Import transaction history from PDF statements
- Intelligent Image Processing:
- Automatic quality assessment and enhancement
- Adaptive preprocessing for low-quality images
- Blur detection and correction
- Multi-pass OCR with confidence scoring
- Interactive Dashboards - Real-time visualization of financial data
- Custom Reports - Generate detled financial reports with custom date ranges
- Category Analytics - Deep dive into spending patterns by category
- Context-Aware Conversations: Understands financial context and transaction history
- Multi-turn Dialogues: Maintains conversation context for follow-up questions
- Smart Intent Recognition: Identifies user intents like spending analysis, bill inquiries, and financial advice
- Personalized Responses: Tailors responses based on user's transaction patterns and goals
- 30-Day Transaction Analysis: Comprehensive review of recent financial activity
- Structured Reports with:
- Spending Patterns and Trends
- High Expenditure Areas with Visualizations
- Personalized Savings Opportunities
- Actionable Budget Recommendations
- Markdown Formatting: Clean, readable output with proper formatting
- Income/Expense Analysis: Breakdown of spending vs. income
- Savings Rate Calculation
- Category-wise Spending Distribution
- Anomaly Detection (unusual spending patterns)
- Tailored Recommendations:
- Budget Optimization
- Cost-saving Opportunities
- Financial Goal Planning
- Multi-Model OCR Pipeline:
- Tesseract.js: Primary OCR engine with custom preprocessing
- Gemini Vision API: Fallback for complex receipts with superior layout understanding
- Structured Data Extraction:
- Merchant Information
- Line Items with Quantities
- Tax and Tip Breakdowns
- Transaction Metadata
- Confidence Scoring: Each extracted field includes a confidence score
- Automatic Validation: Cross-verification of extracted amounts and dates
- Automated Categorization:
- Machine Learning-based category prediction
- Merchant-based category mapping
- Transaction pattern analysis
- Learning System: Improves suggestions based on user corrections
- Custom Category Support: Full flexibility for user-defined categories
Implementation Details
- AI Models:
- Primary: OpenAI GPT-4 for chat and analysis
- Vision: Google Gemini (
gemini-1.5-proandgemini-1.5-flashfallback)- OCR Pipeline:
- Image Quality Assessment
- Adaptive Preprocessing
- Multi-engine Fallback System
- Confidence-based Result Selection
- Performance:
- Automatic Retry with Exponential Backoff
- Rate Limit Handling
- Caching of Common Queries
- Localization:
- Indian Rupee (βΉ/INR) Support
- Regional Date/Number Formats
- Localized Merchant Recognition
- JWT Authentication - Secure token-based authentication system
- OAuth 2.0 Integration - Secure third-party authentication via Google and other providers
- Rate Limiting - Protection against brute force attacks
- Input Validation - Comprehensive request validation and sanitization
- Responsive Design - Seamless experience across all devices
- Real-time Updates - Instant reflection of changes across devices
- Social Login - Quick and easy sign-in with Google OAuth
- AI Chat Assistant - Interactive chat interface for personalized support
- Framework: React with Vite for fast development and optimized builds
- State Management: React Context API for global state management
- UI Components: Material-UI (MUI) with custom theme
- Form Handling: React Hook Form with Yup validation
- Routing: React Router for client-side routing
- Charts: Chart.js with react-chartjs-2 for data visualization
- Date Handling: date-fns for date manipulation and formatting
- AI Chat: Floating chat interface with real-time message streaming and context-aware responses
- Build Tool: Vite for optimized production builds
- Type Safety: PropTypes for component props validation
- Runtime: Node.js with Express.js for robust API development
- Database: MongoDB with Mongoose ODM for flexible data modeling
- Authentication: JWT with refresh token rotation and OAuth 2.0 support
- Scheduled Jobs: Node-cron for managing recurring payments and autopay functionality
- AI Integration:
- OpenAI API for natural language processing and chat
- Google Gemini API for advanced vision and fallback processing
- File Processing Pipeline:
- OCR Processing:
- Tesseract.js v4.1 for primary OCR
- Google Gemini Vision API as fallback
- Multi-pass processing with confidence scoring
- Image Processing:
- Sharp v0.34 for image optimization
- Automatic quality enhancement
- Blur detection and correction
- Document Handling:
- Multer for efficient file uploads
- PDF-parse for statement processing
- Batch processing support
- OCR Processing:
- Security:
- Helmet for enhanced API security
- Express-rate-limit for DDoS protection
- Express-validator for input validation
- CORS with configurable origins
- Code Quality:
- ESLint v9 with custom ruleset
- Prettier for consistent formatting
- React-specific linting rules
- Performance:
- Code splitting and lazy loading
- Image optimization pipeline
- Caching strategies
- Development:
- Hot Module Replacement (HMR)
- Development-ready configurations
- Comprehensive error handling
- Authentication: JWT with refresh token rotation
- API Security:
- Rate limiting
- CORS configuration
- XSS protection
- CSRF prevention
- Input Validation: Comprehensive request validation
- Node.js (v16 or higher)
- MongoDB (local or cloud)
- npm or yarn
Add the following to your .env file in the backend directory:
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key_here
# Existing environment variables...
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
# ... other existing variablesgit clone <repository-url>
cd typeface-finance-appcd backend
npm installCreate a .env file in the backend directory:
MONGODB_URI=mongodb://localhost:27017/finance-app
JWT_SECRET=your-secret-key-here
JWT_EXPIRE=7d
PORT=5000
FRONTEND_URL=http://localhost:5173npm run devnpm run setupThis creates a demo user with:
- Email:
demo@finance.com - Password:
demo123
npm run setup-dataThis creates sample transactions and receipts for testing.
cd ../frontend
npm installnpm run dev- Email:
demo@finance.com - Password:
demo123 - Click the "π Quick Demo Login" button on the login page
- Navigate to
/register - Create a new account with your details
- Visit
http://localhost:5173 - Explore features and sign up/login
- View financial summary
- Quick action cards for common tasks
- Recent transactions overview
- Add new income/expense entries
- Filter and search transactions
- Edit or delete existing entries
- Upload receipt images (JPEG, PNG)
- Upload PDF receipts
- Automatic data extraction via OCR
- View spending patterns
- Category-wise breakdowns
- Monthly trends and insights
POST /api/auth/register- Register new userPOST /api/auth/login- User loginGET /api/auth/profile- Get user profilePUT /api/auth/profile- Update profile
GET /api/transactions- List transactions (with pagination)POST /api/transactions- Create transactionPUT /api/transactions/:id- Update transactionDELETE /api/transactions/:id- Delete transactionGET /api/transactions/analytics- Get analytics
POST /api/receipts/upload- Upload receiptGET /api/receipts/:filename- Get receipt detailsDELETE /api/receipts/:filename- Delete receipt
- Responsive Design - Works on desktop, tablet, and mobile
- Typeface-inspired Design - Clean, modern interface
- Dark/Light Mode Ready - Tailwind CSS framework
- Accessibility - Screen reader friendly
- Loading States - Smooth user experience
- Demo Login - Use the green "Quick Demo Login" button
- Receipt Upload - Test OCR with sample receipt images
- Transaction Management - Add, edit, delete transactions
- Analytics - View charts and spending patterns
- Responsive Design - Test on different screen sizes
- Add sample transactions to see analytics
- Upload receipt images to test OCR
- Use filters to test pagination and search
-
Demo Login Fails
- Ensure backend server is running
- Run
npm run setupin backend directory - Check MongoDB connection
-
CSS Not Loading
- Ensure Tailwind CSS is properly configured
- Check PostCSS configuration
- Restart development server
-
Receipt Upload Fails
- Check file size (max 5MB)
- Ensure file format is JPEG, PNG, or PDF
- Verify backend uploads directory exists
-
API Errors
- Check backend server status
- Verify MongoDB connection
- Check environment variables
typeface-finance-app/
βββ backend/
β βββ src/
β β βββ controllers/ # API controllers
β β βββ models/ # MongoDB models
β β βββ routes/ # API routes
β β βββ services/ # Business logic
β β βββ middleware/ # Auth middleware
β β βββ utils/ # Helper functions
β βββ uploads/ # Receipt storage
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ utils/ # Helper functions
β βββ public/ # Static assets
βββ README.md
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Frontend: Vercel for automatic deployments and global CDN
- Backend: Render with auto-scaling capabilities
- Database: MongoDB Atlas with automated backups
- Monitoring: Integrated logging and performance monitoring
- Request rate limiting
- Optimized database queries
- Authentication: JWT with refresh token rotation
- API Security:
- Rate limiting
- CORS configuration
- XSS protection
- CSRF prevention
- Input Validation: Comprehensive request validation
MIT License - see LICENSE file for details
AJ Harsh Vardhan
Built with β€οΈ using React, Node.js, Express, Tesseract.js and MongoDB
If you found this project helpful, please consider giving it a β