flow: a network monitor for your terminal that actually looks like it belongs in 2026
I got tired of network monitors that look like they were designed for a BBS, so I built flow. It's a real time bandwidth monitor with Braille grid waveforms, spring smoothed numbers, and glowing borders that react to traffic load.
What it does
It shows live download and upload throughput with units that auto scale from B/s up to GB/s. The waveform is a high res Braille grid scrolling at 30fps, and the borders glow brighter as traffic picks up, going from a dark idle state to bright cyan and emerald under load. Numbers are spring interpolated so they glide instead of jumping around. It tracks session peaks, flashing white when you hit a new record, and keeps a running daily total.
There are three views that adapt to your terminal width. Hero is the full dashboard. Compact strips it down to numbers only. Tiny is a single line built for tmux status bars.
Philosophy
If a feature doesn't help you understand your network in under a second, it doesn't make the cut. No CPU panels, no packet counters, no multi pane clutter. Just download and upload throughput, done well.
Usage
flow # hero view, auto interface
flow --compact # numbers only
flow --tiny # tmux status bar
flow --json # one-shot JSON for scripts
flow --once # one-shot plain text
tmux integration
set -g status-right "#(flow --tiny --no-color)"
set -g status-interval 1
Install
go install github.com/programmersd21/flow/cmd/flow@latest
or AUR:
yay -S flow-network-monitor-bin
or homebrew:
brew install programmersd21/flow/flow
Pre-built binaries for Linux, macOS, and Windows (amd64/arm64) are on the releases page.
It works with zero config out of the box. If you want to tweak the refresh rate, history length, or units, there's an optional TOML config at ~/.config/flow/config.toml.
Platform support
It runs on Linux (/proc/net/dev), macOS (sysctl), and Windows (GetIfTable2, no admin needed). Idle CPU stays under 1%.
Links
Source and demo: https://github.com/programmersd21/flow
Would love feedback, especially on the tiny/tmux mode. Curious if the info density is right for people running it in a status bar all day.