An intelligent, offline-first Android application for mobile financial service agents
📖 Overview
Money Load Manager is a 100% offline Android application designed specifically for mobile financial service (MFS) agents in Bangladesh. It automates the tracking of daily transactions by intelligently reading and parsing incoming SMS messages in real-time, eliminating the need for manual data entry and providing comprehensive financial management tools.
The app automatically detects transactions from Flexiload, bKash, Nagad, Rocket, Upay, and utility bill payments (DESCO, DPDC, WASA, Titas Gas, BPDB) from various telecom providers (Grameenphone, Banglalink, Robi, Airtel, Teletalk), categorizing them without any manual intervention.


✨ Key Features
🤖 Intelligent SMS Processing
- Real-time SMS Monitoring: Automatically captures and parses incoming transaction SMS messages as they arrive
- Background Processing: Works seamlessly even when the app is closed or in the background
- Smart Sender Detection: Automatically identifies transaction type based on sender information
- Contact-based Filtering: Configure whether to save transactions from known/unknown contacts
- Duplicate Prevention: Advanced duplicate detection to avoid recording the same transaction multiple times
🎓 Training Manager
- Pattern Learning System: Teach the app to recognize new SMS formats without waiting for app updates
- Custom Pattern Creation: Add custom regex patterns for any transaction provider
- Field Mapping: Map SMS content to transaction fields (amount, sender, reference, etc.)
- Pattern Testing: Built-in SMS tester to validate patterns before saving
- Pre-configured Patterns: Comes with default patterns for major providers
📊 Financial Dashboard
- Day-End Summaries: Clear visualization of daily Cash In, Cash Out, and Net Earnings
- Transaction History: Detailed list of all detected transactions with filtering options
- Interactive Charts: Visual representation of transaction trends and patterns using
fl_chart - Real-time Updates: Dashboard updates automatically as new transactions are detected
- Date-based Reports: View and analyze transactions for specific dates
🔄 Multi-Device Sync
- LAN Sync: Synchronize data between devices on the same WiFi network using mDNS/Bonjour
- Nearby Sync: Direct device-to-device sync using Bluetooth and WiFi Direct
- Master-Worker Architecture: Configure one device as Master (receives data) and others as Workers (send data)
- Automatic Sync: Workers automatically sync new transactions when detected
- Device Authorization: Control which devices can sync with your Master device
- Smart Reconnection: Remembers last successful connection for faster subsequent syncs
🔒 Privacy & Security
- 100% Offline Operation: All data stored locally using SQLite database
- No Internet Required: Functions completely without network connectivity
- No External Servers: Zero data transmission to external services
- No Ads or Tracking: Free from advertisements and user tracking
- Local-only Processing: All SMS parsing happens on-device
📱 Additional Features
- Historical SMS Import: Import and parse past SMS messages (up to 30 days)
- Transaction Rescan: Re-import transactions for specific dates with new patterns
- CSV Export: Export transaction data for external analysis
- Dark Mode Support: Automatic theme switching with Material 3 design
- Contact Integration: Identify senders using device contacts
🛠 Technology Stack
Core Framework
Data Management
- sqflite – Local SQLite database for offline storage
- shared_preferences – Settings and preferences storage
- path_provider – File system path handling
SMS & Communication
- another_telephony – Background SMS reading and listening
- flutter_contacts – Contact integration for sender identification
Synchronization
- bonsoir – mDNS/Bonjour for LAN discovery
- nearby_connections – WiFi Direct and Bluetooth for nearby sync
- network_info_plus – Network information
- device_info_plus – Device identification
Background Services
- flutter_background_service – Persistent background service
- flutter_local_notifications – Local notification system
UI & Visualization
- fl_chart – Interactive charts and graphs
- Material 3 – Modern Material Design components
- intl – Date/time formatting and localization
Utilities
- permission_handler – Android runtime permissions
- url_launcher – External URL handling
- csv – CSV export functionality
- uuid – Unique identifier generation
📱 System Requirements
- Platform: Android 5.0 (Lollipop) or higher (API Level 21+)
- RAM: 2 GB minimum (4 GB recommended)
- Storage: 50 MB minimum free space
- Permissions: SMS, Contacts, Notifications (optional: Location, Bluetooth for sync)

