Skip to content

drrayy001/FlowBytes

Repository files navigation

FlowBytes: Internet Speed & Data Usage Monitor

FlowBytes Logo

Real-time network speed monitoring with detailed data usage analytics.
Stay in control of your internet with precision and clarity.

Android 10+ Kotlin Jetpack Compose Material 3 GPLv3

Donate with PayPal


📥 Download

Stay in control of your data by downloading FlowBytes from your preferred source:

Get it on GitHub Get it on Google Play

🚀 Key Features

  • Real-time Speed Monitoring: Displays live download and upload speeds in the status bar, persistent notification, and a dedicated Quick Settings Tile.
  • App Blocking: Advanced network control using Android's VPN Service to automatically restrict internet access for applications that reach their limit.
  • High Data Alerts: Detects sustained high-traffic spikes and background data leaks with customizable speed and duration thresholds.
  • Weekly Activity Charts: Visualize your data consumption with high-precision charts supporting Soft-Scaling and filtering by Combined, Wi-Fi, or Mobile data.
  • Usage Insight & Forecast: Get projected data consumption forecasts based on your current habits to stay ahead of your daily limits.
  • Comprehensive Data Plans: Set flexible Daily and Monthly System Plans globally or configure granular App Limits for specific applications.
  • Alerts History: Track all limit breaches and high-traffic detections in a filterable history log with categorized alerts.
  • Modern Material 3 UI: A fluid interface featuring Material You dynamic colors, AMOLED dark mode, and customizable notification icon scaling.
  • Privacy First: 100% offline. No telemetry, no tracking—all network analysis and storage happen strictly on your device.

📸 Screenshots

FlowBytes Screenshot


🛠 Technical Implementation

FlowBytes is built using modern Android standards with a focus on performance and accuracy:

  • Network Sampling: High-frequency traffic analysis using NetworkStatsManager and TrafficStats for real-time speed calculation and per-app usage tracking.
  • Traffic Management: Implementation of VpnService for on-device traffic interception, enabling precise per-UID internet restriction.
  • Background Processing: Robust ForegroundService ensuring continuous monitoring with minimal battery impact and system-wide visibility.
  • Reactive UI: Built entirely with Jetpack Compose following MVVM architecture, utilizing Kotlin Coroutines and StateFlow for seamless data updates.
  • Data Persistence: Atomic storage of usage history and configuration using Room Database and Jetpack DataStore.
  • Custom Rendering: Dynamic notification icons and status bar indicators rendered via Canvas API for sharp, real-time speed display.

📋 Requirements

  • OS: Android 10 (API level 29) or higher.
  • Permissions Required:
    • POST_NOTIFICATIONS: For real-time speed display and urgent alerts.
    • PACKAGE_USAGE_STATS: To accurately calculate per-app network consumption.
    • QUERY_ALL_PACKAGES: To list and monitor all installed applications for usage tracking and blocking.
    • FOREGROUND_SERVICE: To ensure uninterrupted, accurate monitoring.
    • VPN Service: Required for the App Blocking feature to intercept and restrict traffic for apps exceeding limits.
    • Battery Optimization: Recommended to exclude FlowBytes from battery restrictions for reliable background tracking.

📱 How to Use & Customize

  1. Grant Permissions: Follow the setup wizard to enable Usage Access and Notifications.
  2. Initialize: Toggle monitoring from the Home screen or the Quick Settings Tile.
  3. Configure Data Plans:
    • Go to Data Plans to set global System Plans (Daily/Monthly).
    • Add specific applications to App Limits for granular control and automatic App Blocking.
  4. Personalize Appearance:
    • Enable Material You in Settings for system-matched colors.
    • Toggle AMOLED Mode for deep blacks on supported screens.
    • Adjust Icon Size for your preferred status bar visibility.
  5. Fine-tune Alerts: Adjust High Data Alerts (High Traffic Detection) thresholds in Settings to match your data plan's sensitivity.

❤️ Support the Project

If FlowBytes helps you stay in control of your data, consider supporting its development!

💰 In-App Support

Support the project directly via Settings > Donate using Google Play.

💳 PayPal

Donate with PayPal

🪙 Crypto (USDT)

Address: TGx1Sbsejmt8e74zy4j4RCwMm9SaT7w1zo (Network: TRC20)


📄 License

This project is licensed under the GPLv3 License. See the LICENSE file for details.

About

A modern Android app for real-time internet speed monitoring and detailed data usage analytics, built with Kotlin, Jetpack Compose, and Material 3

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages