← blog
April 22, 2026

Five years of adding modules to a Windows dashboard

Suit CC started as a 400-line Python system monitor. Here is how it ended up as a 22-module WPF app with gesture control, an encrypted messenger, and a radar panel.

.NETWPFWindowsDesktop

Suit CC started as a system monitor. In 2021, I wanted a single window that showed CPU, RAM, network, and disk usage without opening Task Manager. That was the whole idea.

The first version was about 400 lines of Python and tkinter. It worked, barely. tkinter is not great for animated UI, and the whole thing became a frame rate mess once I added more than three panels. I rewrote it in Python and pygame, which was faster but required implementing every UI element from scratch: buttons, scroll areas, text input, all of it.

For a while the pygame version was productive. It grew a music player, a news feed pulling from RSS, a terminal-like command panel. The Modular Control Center on this site is basically the best version of that era. Then I hit the ceiling on what pygame was practical for and rewrote the whole thing in C# and WPF.

Why WPF made the difference

WPF was a significant unlock. Animations, layout, data bindings, XAML — building UI in it is much faster than rolling everything by hand in pygame. The downside is that WPF is Windows-only and tightly tied to the Windows ecosystem, but I was already only targeting Windows so that was not a real constraint.

The current version

v12v has 22 modules. The ones I use most often day to day:

  • Clipboard history (clippings). I use this constantly. Every copy goes in there and I can pull anything back up.
  • Command palette. Hit a key, type what you want, navigate there instantly.
  • Weather panel. Live radar, actual useful forecast layout.
  • Messenger. Encrypted over LAN, works without internet.

The gesture control (gesture_bridge) was added in v12. It runs as a separate process, reads the webcam, and maps hand positions to UI actions. It is more of a novelty than something I use daily, but it works reliably.

What I have learned building this

The modules you actually use settle out fast. After the first couple of weeks with a new module, you either keep using it or you do not. The ones I keep using are the ones that replace something I was already doing with a worse tool. The ones that get abandoned are the ones I built because they seemed interesting but do not fit into how I actually work.

← all postsprojects