Skip to content

Offline-first group expense and settlement ledger. Track shared expenses, manage balances, and settle debts efficiently — all without internet.

License

Notifications You must be signed in to change notification settings

MasuRii/TrustGuard

TrustGuard Logo

TrustGuard

Offline-first group expense and settlement ledger

Flutter Dart License: MIT

Platforms Offline-First Privacy Focused Accessibility

Track shared expenses, manage group balances, and settle debts efficiently among friends — all without an internet connection.


📱 Platform Support

TrustGuard is built with Flutter and runs on multiple platforms. Core functionality works everywhere, while some features require platform-specific capabilities:

Feature Android iOS macOS Windows Linux Web
Core Features
Expense & Group Management
Offline Database ⚠️
Export & Backup
Mobile Features
QR Code Scanning
Receipt OCR
Home Screen Widgets
Local Notifications ⚠️ ⚠️ ⚠️
Biometric Auth

✅ Full support | ⚠️ Limited support | ❌ Not available

Note: Mobile-only features gracefully degrade on unsupported platforms — they show appropriate messages rather than crashing.


📱 Screenshots

Home Screen     Add Expense


✨ Features

Core Functionality

Feature Description
🔒 Offline-First All data stored locally using SQLite (Drift). No cloud account needed.
📊 Dashboard Global balance overview with animated rolling numbers and recent activity.
📈 Spending Analytics Interactive pie charts and trend lines for spending by category and member.
👥 Group Management Create multiple groups for trips, roommates, or events.
💰 Flexible Expenses Split equally, by custom amounts, or percentage-based with tactile slider controls.
Efficient Settlements Deterministic greedy algorithm minimizes the number of transfers needed.

Productivity

Feature Description
📝 Expense Templates Reusable templates for common expenses save time on data entry.
💳 Budget Tracking Set periodic budgets (weekly, monthly, yearly) with automated spending alerts.
🔄 Recurring Transactions Automate periodic expenses and transfers with flexible schedules.
🏷️ Tagging & Filtering Categorize transactions with tags and find them with search and filters.
💡 Smart Suggestions Intelligent amount suggestions based on your spending habits.
⌨️ Keyboard Shortcuts Full desktop support (Ctrl/Cmd + N/T/F/S/Esc).

Sharing & Import

Feature Description
📲 QR Code Sharing Share expenses device-to-device without internet via compressed QR codes. (Mobile only)
🧾 Receipt OCR Extract amount, date, and merchant from receipts using on-device ML. (Mobile only)
📥 Data Import Migrate from Splitwise or Tricount via CSV with intelligent member mapping.
📤 Export & Backup Export data to CSV or create full JSON backups.

Personalization & UX

Feature Description
🎨 Theme Customization Light, Dark, System, and High-Contrast modes.
👤 Member Avatars Custom photos, camera captures, or preset color initials.
📱 Home Screen Widgets View balances at a glance. (Android & iOS only)
Motion Design Container transforms, staggered animations, and celebration effects.
🎯 Speed Dial FAB Quick access to common actions with Quick Add sheet.
📊 Balance Visualization Bidirectional progress bars for clear balance representation.
↩️ Undo Safety 5-second undo window for accidental deletions.

Accessibility & Security

Feature Description
Accessibility Compliance Screen reader support (TalkBack/VoiceOver), logical focus order, 48dp touch targets.
🔐 Security PIN or biometric lock to protect your data.
🛡️ Privacy Focused Your financial data never leaves your device.

🚀 Getting Started

Prerequisites

  • Flutter SDK (Stable channel, 3.9+)
  • Android: Android SDK
  • iOS/macOS: Xcode (macOS only)
  • Windows: Visual Studio with C++ development tools
  • Linux: GTK development libraries (libgtk-3-dev, libblkid-dev, liblzma-dev)

Installation

  1. Clone the repository

    git clone https://github.com/MasuRii/TrustGuard.git
  2. Navigate to the app directory

    cd TrustGuard/app
  3. Install dependencies

    flutter pub get
  4. Run code generation

    dart run build_runner build --delete-conflicting-outputs
  5. Run the app

    flutter run

🌍 Localization

TrustGuard is ready for internationalization! If you'd like to see the app in your language, check the Adding Translations section in our contributing guide.


🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines before submitting a Pull Request.

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

📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


Made with ❤️ using Flutter

GitHub Stars GitHub Forks