Skip to content

A software - to perform actions based on your traffic (Upload/Download) flow.

License

Notifications You must be signed in to change notification settings

IamAshrafee/FlowWatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

FlowWatcher

Intelligent Network Activity Monitor & Automated System Controller

Lightweight, privacy-first desktop utility that watches your network activity and automatically performs system actions (shutdown, sleep, hibernate, etc.) when downloads or uploads complete.

Version License Platform CI


The Problem

You're downloading a massive game update overnight. You want your PC to shut down when it's done β€” but you don't want to stay awake watching the progress bar. Current solutions are either unreliable, bloated, or don't understand which app is actually downloading.

The Solution

FlowWatcher monitors your network speed (globally or per-process) and automatically triggers a system action when activity drops below your threshold for a set duration. Simple. Safe. Silent.


✨ Features

  • πŸ“‘ Real-Time Network Monitoring β€” Live download/upload speed tracking with sparkline graphs
  • 🎯 Process-Aware Monitoring β€” Watch specific apps (e.g., Steam, qBittorrent) instead of global traffic
  • ⚑ Automated Actions β€” Shutdown, Restart, Sleep, Hibernate, Lock Screen, Sign Out
  • πŸ›‘οΈ Safety First β€” 1-minute pre-warning + 30-second visible countdown before any action
  • πŸ”§ Natural Language Config β€” "When download is below 200 KB/s for 2 min, then shutdown"
  • πŸ–₯️ System Tray Mode β€” Runs silently in the background
  • πŸŒ™ Dark/Light/Auto Theme β€” Modern matte aesthetic
  • πŸ“‹ Activity Logging β€” Full history of monitoring sessions with export
  • βš™οΈ Persistent Settings β€” All preferences saved between sessions
  • πŸ”’ Privacy-First β€” No telemetry, no cloud, everything stays local
  • 🌍 i18n Ready β€” Designed for multi-language support from day one

πŸ“Έ Screenshots

FlowWatcher Dashboard - Dark Mode FlowWatcher Advanced Mode FlowWatcher Settings

πŸš€ How It Works

  1. Set your trigger β€” Choose a speed threshold & duration using the natural language builder
  2. Start monitoring β€” Click "Start Monitoring" and minimize to the system tray
  3. Automatic action β€” When network activity drops below your threshold, FlowWatcher warns you, then executes the action

FlowWatcher uses a Trigger β†’ Condition β†’ Action pipeline: the trigger detects events (like network idle), the condition evaluates rules (threshold + duration), and the action executes system commands (shutdown, sleep, etc.).


πŸ“¦ Installation

Download

Download the latest Windows installer from the GitHub Releases page:

  • .msi β€” Standard Windows installer
  • .exe β€” NSIS installer (portable-friendly)

Build from Source

# Prerequisites: Rust (1.77+), Node.js (18+), Tauri prerequisites
# See: https://v2.tauri.app/start/prerequisites/

git clone https://github.com/IamAshrafee/FlowWatcher.git
cd FlowWatcher/apps/desktop

npm install
npm run tauri build

The built installer will be in apps/desktop/src-tauri/target/release/bundle/.


πŸ› οΈ Tech Stack

Layer Technology
Frontend React 19, TypeScript, Vite, Tailwind CSS v4
State Management Zustand
Desktop Framework Tauri 2.0
Backend / Core Engine Pure Rust (modular, no Tauri dependency)
Architecture Trigger Engine + Condition Engine + Action Engine
CI/CD GitHub Actions (lint, test, build, commitlint)

πŸ—οΈ Architecture

FlowWatcher follows a modular, extensible architecture designed for future expansion beyond network monitoring:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Trigger Engine  β”‚ ──▢ β”‚ Condition Engine β”‚ ──▢ β”‚  Action Engine   β”‚
β”‚  (Network Idle,  β”‚     β”‚  (Threshold +   β”‚     β”‚  (Shutdown,      β”‚
β”‚   Process Exit)  β”‚     β”‚   Duration)     β”‚     β”‚   Sleep, Alarm)  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The core Rust engine is completely independent from the UI β€” it can power a CLI, headless daemon, or the desktop app.


πŸ“‚ Project Structure

FlowWatcher/
β”œβ”€β”€ apps/desktop/          # Tauri desktop app
β”‚   β”œβ”€β”€ src/               # React frontend
β”‚   └── src-tauri/         # Rust backend (Tauri bridge)
β”œβ”€β”€ core/                  # Pure Rust engine (no Tauri dependency)
β”‚   β”œβ”€β”€ engine/            # Automation orchestrator + activity logger
β”‚   β”œβ”€β”€ triggers/          # Trigger modules (network, process)
β”‚   β”œβ”€β”€ actions/           # Action modules (shutdown, sleep, etc.)
β”‚   β”œβ”€β”€ conditions/        # Condition evaluation logic
β”‚   └── platform/          # OS abstraction layer (Windows)
β”œβ”€β”€ docs/                  # Architecture & phase completion docs
└── .github/               # CI/CD workflows, issue/PR templates

🚧 Development Status

See ROADMAP.md for the full roadmap and future plans.

Milestone Phases Status
v0.1.0 β€” Core monitoring + actions + CI/CD 0–14 βœ… Complete
v0.2.0 β€” Deferred items + polish Bug fixes, deferred features πŸ“‹ Planned
v0.5.0 β€” Advanced triggers CPU, timer, plugin system πŸ“‹ Planned
v1.0.0 β€” Stable public release Full documentation + signing πŸ“‹ Planned

πŸ“„ License

MIT


🀝 Contributing

We welcome contributions! Please read CONTRIBUTING.md before getting started.


Built with ❀️ using Rust + React + Tauri

About

A software - to perform actions based on your traffic (Upload/Download) flow.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors