SDG MoneyMate is an intelligent financial assistant that helps you manage your budget, track expenses, and make smarter financial decisions.
- Smart Chatbot: Natural language interface for managing your finances
- AI Budget Generation: Automatically creates personalized budgets based on your income and spending patterns
- Expense Extraction: Upload receipts or describe expenses in plain text - AI extracts the details
- Financial Reports: AI-generated monthly reports with insights and recommendations
- Budget Management: Create, view, and track budgets with AI assistance
- Expense Tracking: Log expenses via text, file upload, or chat
- Real-time Notifications: Stay informed about budget alerts and financial events
- Interactive Dashboard: Beautiful, responsive UI with real-time data visualization
- Glassmorphism Design: Premium, modern interface with smooth animations
- Responsive Layout: Works seamlessly on desktop, tablet, and mobile
- Dark Theme: Easy on the eyes with SDG's brand colors
- Markdown Support: Rich text formatting for reports and descriptions
- React 18.3 - Modern UI library
- Vite 5.4 - Lightning-fast build tool
- React Markdown - Rich text rendering with GitHub Flavored Markdown support
- CSS3 - Custom styling with CSS variables and animations
- Django REST Framework - Backend API
- JWT Authentication - Secure token-based auth
- Google Gemini AI - Powers all AI features (chatbot, budget generation, expense extraction)
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm (v9 or higher)
- Backend Server running on
http://127.0.0.1:8000
git clone <repository-url>
cd ai-on-frontendnpm installThe app uses Vite's proxy to connect to the backend. The configuration is already set in vite.config.js:
server: {
proxy: {
'/api': {
target: 'http://127.0.0.1:8000',
changeOrigin: true,
}
}
}Make sure your backend is running on http://127.0.0.1:8000 before starting the frontend.
npm run devThe application will be available at http://localhost:5173
npm run buildThe production-ready files will be in the dist/ directory.
To preview the production build:
npm run previewai-on-frontend/
βββ src/
β βββ components/ # Reusable React components
β β βββ Budget.jsx # Budget management component
β β βββ Chat.jsx # AI chatbot interface
β β βββ Expenses.jsx # Expense tracking component
β β βββ Notifications.jsx # Notification bell & dropdown
β βββ pages/ # Page components
β β βββ LoginSignup.jsx # Authentication page
β β βββ Onboarding.jsx # AI-driven onboarding flow
β β βββ MainPage.jsx # Main application dashboard
β βββ services/
β β βββ api.js # API service layer & JWT management
β βββ App.jsx # Root component
β βββ main.jsx # Application entry point
β βββ index.css # Global styles & CSS variables
βββ public/ # Static assets
βββ index.html # HTML template
βββ vite.config.js # Vite configuration
βββ package.json # Dependencies & scripts
SDG MoneyMate uses a custom color palette defined in src/index.css:
--primary-blue: #1E90FF; /* Primary actions & buttons */
--primary-blue-dark: #0D7FE8; /* Gradients */
--accent-green: #00D9A3; /* Highlights & active states */
--dark-navy: #0A1929; /* Backgrounds */
--dark-bg: #0F1419; /* Darker backgrounds */- Login/Signup β User creates account or logs in
- JWT Tokens β Access & refresh tokens stored in localStorage
- Onboarding β AI-driven questionnaire to gather financial profile
- Main Dashboard β Full access to all features
- Natural language interface for all financial operations
- Can add expenses, create budgets, and answer questions
- Maintains conversation history
- Powered by Google Gemini 2.0 Flash
- Analyzes your income and spending patterns
- Creates personalized budget categories
- Provides detailed descriptions and advice for each category
- Supports Markdown formatting
- Text Input: "Spent $50 on groceries at Walmart"
- File Upload: Upload receipt images (JPG, PNG, PDF)
- AI extracts amount, description, category, and date
- Automatically categorizes expenses
- Monthly expense analysis
- Budget vs. actual spending comparison
- AI-generated insights and recommendations
- Beautiful table formatting with Markdown
The frontend communicates with these backend endpoints:
POST /api/users/create/- Create new userPOST /api/token/- Login & get JWT tokensGET /api/users/me/- Get current user profile
GET /api/onboarding/- Get current questionPOST /api/onboarding/- Submit answerPOST /api/onboarding/reset/- Reset onboarding
POST /api/chat/- Send message to AIGET /api/chat/history/- Get conversation historyPOST /api/chat/reset/- Clear chat history
GET /api/budget/- List all budgetsGET /api/budget/{id}/- Get budget detailsPOST /api/budget/generate/- Generate AI budget
GET /api/expenses/- List all expensesPOST /api/expenses/- Add expense (text or file)POST /api/expenses/report/- Generate expense report
GET /api/notify/- List notificationsGET /api/notify/unread-count/- Get unread countPOST /api/notify/mark-all-read/- Mark all as read
{
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-markdown": "^9.0.1",
"remark-gfm": "^4.0.0"
}- ESLint configured for React best practices
- Vite HMR for instant hot module replacement
- CSS Variables for consistent theming
- Modular Architecture for maintainability
This frontend application was developed to work with the SDG MoneyMate backend API. The backend handles all AI processing, business logic, and data management using Django REST Framework and Google Gemini AI.
This project is part of the SDG (Software Development Group) portfolio.
- Backend: Django REST Framework with Google Gemini AI integration
- Design Inspiration: Modern fintech applications
- Brand Design: SDG team color palette
For issues or questions, please refer to the backend repository documentation or contact the development team.
This frontend application was 100% coded by AI (Google Gemini via Antigravity CLI) with human guidance.
- Provided feature requirements and specifications
- Gave design direction and brand guidelines
- Tested the application and reported bugs
- Made strategic decisions and set priorities
- Implemented all code (React components, styling, API integration)
- Designed component architecture and file structure
- Created all CSS animations and responsive layouts
- Fixed bugs and optimized performance
- Wrote this documentation
This demonstrates the power of AI-assisted development when combined with clear human direction and requirements.
Built with β€οΈ by AI, guided by humans