FinPersonalize is a comprehensive personal finance management and AI-powered recommendation system built as a final year project. It's a full-stack web application designed to help users manage their finances through intelligent insights, spending analysis, and personalized recommendations.
- Repository: sumaiya1303/FinPersonalize
- Type: Final Year Project
- Status: Active development (last updated April 2026)
- Language Composition: 57.1% JavaScript, 41.9% Python, 1% Other
The project follows a client-server architecture with clear separation of concerns:
- Framework: React 19.2.0 with Vite for fast development
- Styling: Tailwind CSS 4.1.17 for modern UI design
- Routing: React Router DOM 7.9.6 for navigation
- HTTP Client: Axios for API communication
- Authentication: Firebase Authentication for user management
- Data Visualization: Recharts 3.5.0 for interactive charts and analytics
- Utilities: Lucide React for icons, React Markdown for content rendering
- Framework: Flask with CORS support for API endpoints
- Database: SQLAlchemy with Flask-SQLAlchemy ORM
- Authentication: Firebase Admin SDK for user validation
- AI/ML:
- OpenAI integration for advanced insights
- Google Generative AI (LangChain integration)
- Scikit-learn for machine learning models
- Data Processing: Pandas for data manipulation
- Document Processing: PDFPlumber for PDF parsing
- Other: Flask-Migrate for database migrations, Python-dotenv for configuration
Based on the frontend routing structure, the application includes:
- Dashboard - Home page with overview of financial data
- Spending Management - Track and categorize spending patterns
- Financial Goals - Set and monitor financial objectives
- Bills Management - Track upcoming and recurring bills
- Transactions - View detailed transaction history
- Analytics - Comprehensive financial analytics and insights
- Recommendations - AI-powered personalized financial recommendations
- Analysis - Detailed analysis tools (likely including AI-assisted analysis)
- Profile - User profile management
- Admin - Administrative controls
- Onboarding - User onboarding workflow
AI & Machine Learning:
- OpenAI API integration for intelligent recommendations
- Google Generative AI for advanced analysis
- LangChain for AI workflow orchestration
- Scikit-learn for predictive analytics
Data & Integration:
- PDF document processing for statement uploads
- Real-time data sync between frontend and backend
- Firebase cloud authentication and data sync
UI/UX:
- Modern, responsive design with Tailwind CSS
- Interactive charts and data visualization with Recharts
- Intuitive navigation with React Router
- Loading states and error handling
- Multi-method authentication: Google OAuth and email/password login via Firebase
- Token-based authorization: Uses Firebase ID tokens for API requests
- User synchronization: Backend syncs user data and tracks onboarding completion status
FinPersonalize is designed to be an intelligent personal finance assistant that combines traditional finance management features (budgeting, bill tracking, transaction monitoring) with AI-powered insights and personalized recommendations to help users make better financial decisions and achieve their financial goals.