SmartWallet is a unified personal finance management application designed to give users a consolidated view of all their financial accounts. It simplifies expense tracking, budgeting, and provides actionable insights to help users make smarter spending decisions.
SmartWallet aggregates transaction data from multiple credit cards and bank accounts using the Plaid API, categorizes expenses, and visualizes spending patterns. Users can set monthly budgets, track progress in real-time, and receive personalized insights powered by an AI-driven advisor.
- Account Aggregation: Connect unlimited bank and credit card accounts to view all transactions in one dashboard.
- Real-time Transactions: Fetch and display recent transactions with filtering by account, date, and category.
- Budgeting Tools: Create and manage monthly budgets for different categories, with visual progress indicators.
- Spending Insights: AI-driven recommendations to help optimize spending habits and identify saving opportunities.
- Responsive Design: Built with React, Vite, and TailwindCSS for lightning-fast performance and a seamless user experience on any device.
Our approach leverages a modern MERN stack architecture:
- Frontend: A React single-page application bootstrapped with Vite and styled with TailwindCSS for rapid development and great UX.
- Backend: An Express.js server handles API requests, user authentication, and communicates securely with the Plaid API.
- Database: MongoDB stores user profiles, linked account metadata, budgets, and categorized transactions.
- AI Advisor: A modular chatbot component provides contextual spending advice by analyzing historical transaction data.
This modular design ensures each layer can scale independently and allows for easy integration of additional features in the future.
- API Integration: Handling Plaid’s authentication flow, token exchange, and webhook events required careful error handling and security considerations.
- Data Normalization: Mapping and categorizing transactions from disparate financial institutions into a consistent schema.
- Real-time Updates: Ensuring that transactions and budget progress reflect immediately in the UI without compromising performance.
- Security & Compliance: Protecting sensitive user data with secure storage, environment variables, and JWT-based authentication.
- Plaid for providing the financial API connectivity.
- React and Vite for the frontend framework and tooling.
- TailwindCSS for utility-first styling.
- Node.js and Express.js for the backend server.
- MongoDB for the NoSQL database.
- Inspiration from open-source finance dashboards and budgeting apps.
Yared Pena

William Ng

Thamida Choudhury

Sajed Atwa
