Hey IH. I got tired of basic Windows system utilities being shipped as 150MB Electron apps with $5/mo SaaS subscriptions.
I also got tired of "mouse jigglers" draining my laptop battery, eating CPU cycles with constant polling, and triggering corporate IT security software just to keep Microsoft Teams active while I stepped away.
So I built StayGreen, a native keep-awake utility for Windows power users.
Here is the technical and business breakdown of how I built it.
I built StayGreen using Rust and Tauri. The mandate was native throughput and zero system drag.
Instead of using a background thread with a while(true) loop to simulate fake mouse_event inputs every 30 seconds, StayGreen doesn't poll at all. It makes a single Win32 API call to SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED) and then the thread goes entirely to sleep. The Windows kernel handles the rest.
For the per-app targeting (e.g., only keep awake if ms-teams.exe is in focus), it relies on SetWinEventHook(EVENT_SYSTEM_FOREGROUND). The OS pushes state changes directly to the app, requiring zero polling cycles.
The Benchmark: It idles at exactly 0.0% CPU and sits at 7.7MB of RAM.
The biggest danger of keep-awake tools is forgetting they are on, tossing your laptop into a backpack, and having it melt down.
I wired synchronous hardware polling using GetSystemPowerStatus and logical display metrics (GetSystemMetrics). If a user unplugs their laptop or closes the lid, the daemon intercepts the state and instantly pauses the keep-awake flag to prevent thermal damage. It also natively detects Clamshell mode, so it stays awake if you are docked to an external monitor.
I am completely ignoring the Monthly Recurring Revenue (MRR) playbook for this.
Users are experiencing massive subscription fatigue, especially for micro-utilities. I am selling StayGreen for a one-time perpetual license ($4.99). Pay once, own the binary forever.
I am betting that the lower friction of a one-time purchase will drive a much higher conversion volume, especially when acquiring traffic searching for "caffeine alternative" or "mouse jiggler alternative."
Has anyone else here abandoned the SaaS model to build native desktop micro-utilities? I would love to hear how you are handling distribution outside of the primary OS app stores, or if you have any feedback on the Win32 implementation.