Skip to content

RA-L-PH/Moneta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’ฐ Moneta - AI-Powered Personal Finance Tracker

Moneta Logo

Your Smart Financial Companion with AI-Powered Insights

Flutter Firebase Gemini AI License

๐Ÿš€ Overview

Moneta is an intelligent personal finance tracking application built with Flutter that automatically captures and categorizes your transactions from banking SMS messages. Powered by Google's Gemini AI, it provides personalized financial advice, budget planning, and investment recommendations tailored specifically for Indian users.

โœจ Key Features

๐Ÿ“ฑ Automatic SMS Transaction Capture

  • Smart SMS Parsing: Automatically captures and parses banking SMS notifications
  • Multi-Bank Support: Works with all major Indian banks (HDFC, ICICI, SBI, Axis, PNB, BCCB, etc.)
  • Real-time Processing: Instant transaction categorization and balance tracking
  • Duplicate Prevention: Advanced filtering to prevent duplicate transaction entries

๐Ÿง  AI-Powered Financial Intelligence

  • Personalized Tips: Gemini AI analyzes spending patterns to provide tailored financial advice
  • Smart Categorization: Automatic transaction categorization with 15+ predefined categories
  • Budget Planning: AI-generated monthly budget plans based on your spending habits
  • Investment Advice: Personalized investment recommendations with SIP suggestions

๐Ÿ“Š Comprehensive Analytics

  • Monthly Reports: Detailed spending analysis with category breakdowns
  • Visual Insights: Interactive charts and graphs for spending patterns
  • Savings Rate Tracking: Monitor your financial health with savings rate calculations
  • Category Analysis: Detailed breakdown of spending by categories with emoji tags

๐Ÿ  Home Widget Integration

  • Quick Overview: Android home widget showing daily debit/credit totals
  • Real-time Updates: Automatically updates with latest transaction data
  • Minimalist Design: Clean, informative widget for your home screen

๐Ÿ”” Smart Notifications

  • Transaction Alerts: Instant notifications for new transactions
  • Bulk Processing: Notifications for SMS inbox imports
  • Balance Updates: Real-time balance notifications
  • Financial Reminders: Proactive financial guidance alerts

๐Ÿ› ๏ธ Technical Architecture

Frontend (Flutter)

  • Framework: Flutter 3.7.2 with Dart SDK
  • State Management: Provider pattern for reactive UI
  • Local Storage: Hive database for offline transaction storage
  • Charts: FL Chart for beautiful data visualizations
  • Theming: Dark/Light theme support with custom app themes

Backend (Firebase)

  • Cloud Functions: TypeScript-based serverless functions
  • Firestore: NoSQL database for cloud transaction storage
  • Authentication: Firebase Auth for secure user management
  • API Integration: Direct Gemini AI API integration

AI Integration

  • Model: Google Gemini 2.0 Flash for financial analysis
  • Features: Natural language processing for financial advice
  • Context: Indian financial market awareness (SIP, FD, ELSS, PPF)
  • Personalization: User-specific spending pattern analysis

๐Ÿ“‚ Project Structure

moneta_app/
โ”œโ”€โ”€ lib/
โ”‚   โ”œโ”€โ”€ main.dart                 # App entry point
โ”‚   โ”œโ”€โ”€ models/                   # Data models
โ”‚   โ”‚   โ””โ”€โ”€ transaction.dart      # Transaction model
โ”‚   โ”œโ”€โ”€ screens/                  # UI screens
โ”‚   โ”‚   โ”œโ”€โ”€ home.dart            # Main dashboard
โ”‚   โ”‚   โ”œโ”€โ”€ dashboard.dart       # Financial overview
โ”‚   โ”‚   โ”œโ”€โ”€ insights.dart        # AI-powered insights
โ”‚   โ”‚   โ”œโ”€โ”€ financial_advice_screen.dart  # Financial advice
โ”‚   โ”‚   โ”œโ”€โ”€ local_transactions.dart       # Transaction history
โ”‚   โ”‚   โ””โ”€โ”€ monthly_reports.dart         # Monthly analytics
โ”‚   โ”œโ”€โ”€ services/                # Business logic
โ”‚   โ”‚   โ”œโ”€โ”€ sms_capture.dart     # SMS processing
โ”‚   โ”‚   โ”œโ”€โ”€ sms_parser_service.dart     # Transaction parsing
โ”‚   โ”‚   โ”œโ”€โ”€ gemini_advice_service.dart  # AI integration
โ”‚   โ”‚   โ”œโ”€โ”€ insights_service.dart       # Analytics engine
โ”‚   โ”‚   โ”œโ”€โ”€ notification_service.dart   # Push notifications
โ”‚   โ”‚   โ””โ”€โ”€ widget_service.dart         # Home widget
โ”‚   โ”œโ”€โ”€ widgets/                 # Reusable components
โ”‚   โ”œโ”€โ”€ theme/                   # App theming
โ”‚   โ””โ”€โ”€ local/                   # Local storage
โ”œโ”€โ”€ functions/                   # Firebase Cloud Functions
โ”œโ”€โ”€ android/                     # Android configuration
โ””โ”€โ”€ assets/                      # App resources

๐ŸŽฏ Core Features Deep Dive

1. Enhanced SMS Transaction Parser

Supported Transaction Types:

  • โœ… Debit transactions (payments, purchases, transfers)
  • โœ… Credit transactions (salary, refunds, deposits)
  • โœ… UPI transactions with merchant details
  • โœ… ATM withdrawals and cash transactions
  • โœ… EMI and recurring payments

Parsing Capabilities:

  • Amount Extraction: Supports INR, Rs., โ‚น formats with comma separation
  • Date Recognition: Multiple date formats (DD-MMM-YYYY, DD/MM/YYYY)
  • Merchant Detection: Smart extraction of business names and payment recipients
  • Transaction ID: Extracts UPI reference numbers and transaction IDs
  • Balance Tracking: Current balance extraction from SMS

Example SMS Processing:

Input: "Your BCCB A/c XXXXXX is debited INR 60.00 On 17-AUG-2025 by UPI/DR/522916825224/STAR B. Clear bal INR 1,50,893.38."

Output: {
  type: 'debit',
  amount: 60.0,
  date: '17-AUG-2025',
  recipient: 'STAR B',
  category: 'Food & Beverages',
  transactionId: '522916825224',
  balance: 150893.38
}

2. AI-Powered Financial Insights

Financial Analysis:

  • Spending Pattern Recognition: Identifies unusual spending behaviors
  • Category Optimization: Specific recommendations for high-spending categories
  • Savings Opportunities: Concrete steps to improve savings rate
  • Risk Assessment: Alerts for concerning spending patterns

Personalized Recommendations:

  • Budget Allocation: Category-wise spending recommendations
  • Investment Suggestions: SIP, FD, ELSS recommendations based on surplus
  • Emergency Fund: Guidance on emergency fund building
  • Tax Planning: 80C investment suggestions for tax optimization

3. Smart Categorization System

Pre-defined Categories with Emoji Tags:

  • ๐Ÿฝ๏ธ Food & Beverages: Restaurants, food delivery, cafes
  • ๐Ÿš— Transport: Uber, Ola, fuel, metro, parking
  • ๐Ÿ›’ Shopping: Amazon, Flipkart, retail stores
  • ๐ŸŽฌ Entertainment: Netflix, movies, games, subscriptions
  • ๐Ÿ’ก Bills & Utilities: Electricity, water, internet, mobile
  • ๐Ÿฅ Healthcare: Hospitals, pharmacies, medical expenses
  • ๐Ÿ“š Education: Schools, courses, books, training
  • โ›ฝ Fuel: Petrol pumps, vehicle fuel
  • ๐Ÿฆ Banking & Finance: ATM, loans, EMI, bank charges

Frequency Tags:

  • ๐Ÿ”ฅ Very frequent (15+ transactions)
  • โšก Frequent (10+ transactions)
  • ๐Ÿ“ Regular (5+ transactions)

4. Advanced Dashboard

Three Key Metrics:

  • Debited: Total outgoing transactions
  • Credited: Total incoming transactions
  • Balance: Current account balance

Monthly Analytics Reset:

  • Automatic monthly report generation
  • Analytics reset for fresh monthly insights
  • Year-over-year comparison capabilities

๐Ÿ”ง Installation & Setup

Prerequisites

  • Flutter SDK 3.7.2 or higher
  • Dart SDK
  • Android Studio / VS Code
  • Firebase account
  • Gemini AI API key

1. Clone the Repository

git clone https://github.com/RA-L-PH/Moneta.git
cd Moneta/moneta_app

2. Install Dependencies

flutter pub get

3. Firebase Setup

# Install Firebase CLI
npm install -g firebase-tools

# Login to Firebase
firebase login

# Initialize Firebase project
firebase init

# Deploy Cloud Functions
cd functions
npm install
firebase deploy --only functions

4. Configure API Keys

// In lib/services/gemini_advice_service.dart
static const String _geminiApiKey = 'YOUR_GEMINI_API_KEY';

5. Android Permissions

The app requires the following permissions (automatically handled):

  • READ_SMS: For SMS transaction capture
  • POST_NOTIFICATIONS: For transaction notifications
  • INTERNET: For AI API calls and cloud sync

6. Run the App

flutter run

๐Ÿ“ฑ Usage Guide

1. First Launch

  • Grant SMS and notification permissions
  • The app automatically starts capturing banking SMS
  • View transactions in the Dashboard tab

2. Dashboard Overview

  • Overview Section: See your debited, credited, and balance amounts
  • Category Breakdown: Visual charts of spending categories
  • Recent Transactions: Latest transaction history

3. AI Insights

  • Navigate to Insights tab
  • Select date range for analysis
  • Toggle AI insights for detailed analysis
  • Get personalized spending tips with emoji tags

4. Financial Advice

  • Financial Tips: AI-generated personalized tips
  • Budget Planning: Set income and savings targets
  • Investment Advice: Get portfolio recommendations

5. Home Widget Setup

  • Long press on Android home screen
  • Add Moneta Widget
  • View daily transaction totals at a glance

๐Ÿ”’ Privacy & Security

Data Protection

  • Local-First: Transactions stored locally using Hive encryption
  • Selective Sync: Only aggregated data sent to AI services
  • No Raw SMS: Raw SMS content is anonymized for AI analysis
  • Secure API: All API calls use HTTPS encryption

Permissions

  • SMS Access: Only reads banking SMS, no personal messages
  • Notification: For transaction alerts only
  • Internet: For AI insights and cloud backup (optional)

Google Play Protect Compliance

  • Code Obfuscation: ProGuard enabled for release builds
  • Network Security: Configured security policies
  • No Malicious Behavior: Transparent SMS processing only

๐Ÿงช Testing

Unit Tests

# Run SMS parser tests
flutter test test/sms_parser_test.dart

# Run AI advice tests  
flutter test test/gemini_advice_test.dart

# Run all tests
flutter test

Interactive Testing

  • Use the SMS Parser Test Screen in the app
  • Test sample banking SMS messages
  • Verify parsing accuracy and categorization

๐Ÿš€ Deployment

Android Release Build

# Build release APK
flutter build apk --release

# Build App Bundle for Play Store
flutter build appbundle --release

Firebase Functions Deployment

cd functions
npm run build
firebase deploy --only functions

๐Ÿ”ฎ Future Roadmap

Planned Features

  • ๐Ÿ“ˆ Investment Tracking: Monitor mutual fund and stock performance
  • ๐ŸŽฏ Goal-Based Planning: Set and track financial goals
  • ๐Ÿค– Chatbot: Conversational AI for financial queries
  • ๐Ÿ”— Bank API Integration: Direct bank account linking
  • ๐Ÿ“Š Advanced Analytics: Predictive spending analysis
  • ๐ŸŒ Multi-Language: Support for regional Indian languages

Technical Enhancements

  • ๐Ÿ”„ Real-time Sync: Live transaction synchronization
  • ๐Ÿ“ฑ iOS Version: Full iOS app development
  • ๐ŸŒ™ Offline AI: Local machine learning models
  • ๐Ÿ” Biometric Auth: Fingerprint and face unlock
  • โ˜๏ธ Auto Backup: Automated cloud backups

๐Ÿ“Š Performance Metrics

  • โšก SMS Parsing: < 5ms per message
  • ๐Ÿง  AI Response: < 3 seconds average
  • ๐Ÿ’พ Storage: Efficient local storage with Hive
  • ๐Ÿ”‹ Battery: Optimized background processing
  • ๐Ÿ“ฑ Memory: < 50MB RAM usage

๐Ÿค Contributing

We welcome contributions! Please read our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

This project is proprietary software. All rights reserved.

๐Ÿ†˜ Support

For support and questions:

  • ๐Ÿ“ง Email: [email protected]
  • ๐Ÿ› Issues: Create a GitHub issue
  • ๐Ÿ“š Documentation: Check the wiki section

๐Ÿ™ Acknowledgments

  • Flutter Team: For the amazing cross-platform framework
  • Google Gemini AI: For powerful AI financial insights
  • Firebase: For robust backend infrastructure
  • Indian Banking System: For standardized SMS formats
  • Open Source Community: For countless helpful packages

Made with โค๏ธ for better financial management

Moneta - Your AI-Powered Financial Companion

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors