WiseFolio is a next-generation AI personal financial management platform combined with an optional personalized product recommendation system. The application allows users to:
- Track Expenses: AI analyzes spending habits, offers budgeting suggestions, and forecasts future expenses.
- AI-Driven Recommendations: Receive tailored product or service suggestions based on financial habits.
Many individuals struggle with:
-
Understanding Spending Habits: This leads to poor budgeting and financial stress. Traditional financial tools often present data without actionable insights, leaving users overwhelmed.
-
Decision Fatigue from Shopping Options: The vast number of shopping deals and stores creates decision fatigue. Manually searching for deals is time-consuming, and most applications lack personalization for financial preferences.
-
Bridging Financial Management and Shopping Insights:
- Combines expense tracking with shopping recommendations to help users save money and shop smarter. Offers a comprehensive view of financial and consumer habits in one app.
-
Personalization:
- Tailors suggestions to individual financial situations and preferences, reducing decision fatigue and making financial management more relevant.
Target users include individuals who aim to stretch their budgets and maximize value:
- Students and Early Career Individuals
- Young Professionals (Ages 25-35)
- Budget-Conscious Families (Ages 30-50)
- Frequent Shoppers and Bargain Hunters
- Guest User:
- Access the app without creating an account.
- Registered User:
- Create an account for enhanced functionality.
-
Expense Tracking:
- Log transactions manually or via bank statements.
- Automatic categorization (e.g., groceries, dining).
- View detailed breakdowns and analytics.
-
Budget Management:
- Create and track budgets for specific categories.
- Real-time tracking with visual indicators.
- Alerts for overspending.
-
Savings Goals:
- Set and track financial goals (e.g., vacations).
- Visual indicators showing progress.
- AI suggestions to optimize spending and accelerate savings.
-
Financial Insights and Analytics:
- AI-driven insights on spending patterns.
- Monthly and weekly summaries with visual charts.
- Predictive analysis for future expenses.
- Data Security:
- Local data storage for guest users.
- Encrypted cloud backup for registered users.
- Data Recovery:
- Cloud synchronization ensures data safety for registered users.
- Inform guest users about potential data loss upon app deletion.
- Search and Filter:
- Search transactions, stores, or deals by keywords.
- Advanced filters by category, price range, or location.
- Framework: React (TypeScript)
- Styling: SASS/SCSS
- Routing: React Router
- State Management: Redux Toolkit
- Visualization: Recharts for analytics
- Runtime: Node.js
- Framework: NestJS
- Database: Knex.js with MySQL
- Data Storage: Google Cloud Storage
- AI/ML Integration: Python with FastAPI
- Frontend Hosting: Vercel
- Database: PlanetScale (serverless MySQL)
- Containerization: Docker
- CI/CD: GitHub Actions
- Authentication: Firebase
- Notifications: Firebase Email Services
- Analytics: Google Analytics
- OpenAI GPT API:
- Purpose: Provide personalized financial insights, explain trends, and offer budgeting advice.
- Documentation: OpenAI GPT API
- Home Page: Introduction to the app with an overview and call-to-action buttons.
- Login Page: Secure login for registered users.
- Registration Page: Sign-up for new users.
- Dashboard: Central hub for financial data and insights.
- Expense Tracking Page: Log and categorize expenses.
- Budget Management Page: Create and monitor budgets.
- Savings Goals Page: Set and track progress towards goals.
- Profile Settings Page: Manage account details and preferences.
- User: Profile data, login credentials
- Expense: Amount, category, date
- Budget: Category, limit, usage
- Savings Goal: Name, amount, deadline
- User Authentication:
- POST /register
- POST /login
- Expense Tracking:
- GET /expenses
- POST /expenses
- Budget Management:
- GET /budgets
- POST /budgets
- Savings Goals:
- GET /goals
- POST /goals
As a guest user, I want to access the app without creating an account so that I can explore its features.
- Risk Level: Low
- Story Points: 3
- Acceptance Criteria:
- Guest users can use the app without registration.
- Local data storage is used for guest accounts.
- A prompt is displayed to encourage guest users to register.
As a user, I want to create an account with my email and password so that I can save my data securely.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- The registration form requires valid email and password fields.
- A confirmation email is sent after successful registration.
- The system prevents duplicate accounts with the same email.
As a registered user, I want to log in to my account so that I can access my saved financial data.
- Risk Level: Low
- Story Points: 3
- Acceptance Criteria:
- Users can log in using their email and password.
- Authentication fails for incorrect credentials.
- The user is redirected to the dashboard upon successful login.
As a user, I want to reset my password if I forget it so that I can regain access to my account.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- Users can request a password reset via email.
- A secure reset link is sent to the registered email.
- Password reset updates the user’s credentials in the system.
As a user, I want to manually log expenses so that I can track my spending.
- Risk Level: Low
- Story Points: 5
- Acceptance Criteria:
- Users can input an expense with a description, amount, and category.
- Expenses are saved and displayed in a chronological list.
- Data persists after app restart (for registered users).
As a user, I want to categorize my expenses (e.g., groceries, bills) so that I can better understand my spending patterns.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- Users can assign a predefined category to each expense.
- Categories are visually distinguishable in the list.
- Users can filter expenses by category.
As a user, I want to view a list of all logged expenses so that I can monitor my spending history.
- Risk Level: Low
- Story Points: 3
- Acceptance Criteria:
- Expenses are displayed in chronological order.
- Each entry includes the amount, category, and date.
- Users can scroll through or search their expenses.
As a user, I want to create a budget for specific categories so that I can control my spending.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- Users can set budgets for predefined categories.
- A budget consists of a category, amount, and time frame.
- Users are notified when a budget is created successfully.
As a user, I want to see how much of my budget has been used so that I can adjust my spending accordingly.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- Budget usage is displayed as a percentage.
- Visual indicators (e.g., progress bars) are used for clarity.
- Users can view detailed spending within each budget.
As a user, I want to receive alerts when I am nearing my budget limit so that I can avoid overspending.
- Risk Level: High
- Story Points: 5
- Acceptance Criteria:
- Alerts are triggered when 80% of a budget is used.
- Notifications are displayed in the app.
- Users can customize alert thresholds.
As a user, I want to set financial goals (e.g., saving for a vacation) so that I can track my progress.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- Users can define a goal name, amount, and deadline.
- Goals are displayed with a progress bar.
- Users are notified when a goal is achieved.
As a user, I want to view a progress bar for each goal so that I can stay motivated.
- Risk Level: Low
- Story Points: 3
- Acceptance Criteria:
- Progress bars visually update based on contributions.
- Goals nearing completion are highlighted.
- Users can view completed goals in a separate section.
As a user, I want to view a summary of my financial data (expenses, budgets, goals) so that I can get an overview at a glance.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- The dashboard displays total expenses, budgets, and goals in a concise format.
- Users can quickly navigate to detailed views from the dashboard.
- Data updates in real-time when changes are made.
As a user, I want quick links to expense tracking, budgeting, and savings so that I can navigate efficiently.
- Risk Level: Low
- Story Points: 3
- Acceptance Criteria:
- The dashboard includes shortcuts to key features.
- Each link is clearly labeled and easily accessible.
- Navigation works seamlessly on mobile and desktop.
As a user, I want to access a FAQ section so that I can find answers to common questions.
- Risk Level: Low
- Story Points: 2
- Acceptance Criteria:
- FAQs are categorized for ease of use.
- Users can search within the FAQ section.
- The system displays relevant articles based on queries.
As a user, I want to contact support for unresolved issues so that I can get help when needed.
- Risk Level: Medium
- Story Points: 5
- Acceptance Criteria:
- A contact form collects user issues.
- Support requests are acknowledged via email.
- Users receive a response within a specified time frame.
| Priority | User Stories |
|---|---|
| Must Have | US.1.0.1, US.1.0.2, US.1.0.3, US.2.0.1, US.2.0.3, US.3.0.1, US.5.0.1 |
| Should Have | US.1.0.4, US.2.0.2, US.3.0.2, US.4.0.1, US.5.0.2 |
| Could Have | US.3.0.3, US.4.0.2 |
| Would Have | US.6.0.1, US.6.0.2 |
- View local stores or deals on a map to make informed purchasing decisions.
- Track personal packages.
- A personalized product recommendation system

