Hey everyone,
I recently bought a brand new UPS for my local Linux desktop setup, and what should have been a straightforward afternoon project turned into an absolute nightmare of text files and terminal debugging. I decided to use Network UPS Tools (NUT), but as a desktop user with a single, locally connected USB unit, the onboarding friction was incredibly frustrating:
- Just trying to figure out which packages to install (nut, nut-client, usbhid-ups, upsd) felt fragmented.
- The official documentation is dense and heavily geared toward massive, multi-node enterprise network topographies rather than a single local workstation.
- I kept running into silent connection failures, driver mismatch errors, and permission blocks under /etc/nut/ that took hours to track down because there wasn't an easy way to diagnose what was actually failing.
Once I finally got the daemons running, I ran into my next disappointment: the lack of good, modern desktop GUI tools. The official legacy Python/GTK apps look like they were built in the 90s, and the modern web-based alternatives (like PeaNUT or Nutify) are strictly read-only monitoring dashboards. They expect you to do all the heavy configuration lifting in the CLI before you ever launch them. I originally sat down and started writing a tool just to solve my own frustration, but after getting it working, I realized it could be genuinely useful for a lot of people in the same boat.
I call it Voltwise (tentative name). It’s a native cross-platform desktop application built using .NET and Avalonia UI. Unlike read-only dashboards, it features a complete setup and diagnostic wizard designed specifically for single, locally connected UPS hardware. It acts as an automated guide through the exact pipeline I struggled with: it auto-discovers USB hardware IDs, maps drivers, handles configuration formatting, audits folder permissions, and validates live communication state rules. It handles on-demand system elevation securely and natively using pkexec (PolKit), meaning the app runs safely in user space and only requests root authentication when actively writing files to /etc/nut/.
Here is how it currently looks (I'm still actively refining and adding features))
The setup and diagnostic wizard:


The live monitoring screen (Completely customizable):


Events:

UPS Device settings:

Raw configuration file editing:

Here is the catch, and why I’m posting here before releasing it:
I am a solo dev, and a very large portion of this application was developed with heavy generative AI assistance to handle cross-platform boilerplate, XAML layout structures, and environmental path mapping. I manually architected the security boundaries, audited every line of code, and verified all the hardware loops against my physical desktop, but the AI footprint is undeniably there.
Given the current anti-AI climate, I’m feeling a bit hesitant. I’m strongly considering releasing the project under the MIT License so the homelab and Linux desktop community can freely use, fork, or dissect it. However, I’m trying to gauge if it is actually worth the hassle of dealing with the inevitable internet backlash from people who will instantly write it off as "AI slop" without looking at the functionality or utility.
- Would a streamlined, local-only native desktop NUT setup wizard like this be helpful to you?
- Is an MIT release the right path forward here?
- Should I bother putting this on GitHub, or is the AI-assisted development stigma going to completely bury a functional utility?
Appreciate any honest thoughts or feedback!