Two live charts from the monitor: CPU load over the last three minutes in cyan, and network download and upload in cyan and pink, on a near-black background.

Case study Personal project

A local system monitor that shows where your programs are sending data.

Client
Personal project
Type
System utility
Role
Design & development
Year
2026

A personal system monitor for Linux: one Python sampling engine behind two interfaces, a full-screen terminal dashboard and a local web page, covering CPU, memory, disks, network, processes and the live connections each program has open.

Knowing what a computer is doing right now usually means juggling top, ss, df and a desktop system monitor. None of them answers, in one place, which program is using the machine and who each of its connections is talking to.

One small sampling engine, two faces. A shared collector reads the whole system with psutil, and a terminal dashboard and a web page both render the same snapshot. It runs only when called: no daemon, no background service, and the web server listens on localhost only.

What was actually built

  1. 01

    A shared collector built on psutil: per-core CPU, memory and swap, disk usage and I/O, network rates, every process and every established connection, sampled into one snapshot.

  2. 02

    A terminal dashboard with Rich: a full-screen live view, sorting by CPU or memory from the keyboard, a one-shot mode and an optional JSON Lines log.

  3. 03

    A web interface on Python's standard-library HTTP server, bound to localhost: a sampler thread keeps about three minutes of history, the page polls a single JSON endpoint, and a button shuts the server down.

  4. 04

    A front end with no dependencies or build step, in plain HTML, CSS and JavaScript: gauges drawn with conic gradients, hand-written SVG charts, searchable and sortable tables, light and dark themes, and reverse DNS resolved in the background so a lookup never blocks a refresh.

Technology

  • Python
  • psutil
  • Rich
  • JavaScript
  • HTML
  • CSS
  • SVG

A working personal tool that runs locally on Linux and is started on demand. Not packaged or published.

Next projectThe ChefThe Chef Churrascaria Recife · Restaurant website & ordering system