StayGreen: Keep Screen Awake

Zero overhead. Zero polling. Always active.

Visit Website
March 30, 2026 I built a 0.0% CPU keep-awake daemon in Rust to replace bloated "mouse jigglers" (and priced it at $4.99 forever)

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.

The Architecture: Absolute Zero-Overhead

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 "Bag-Safe" Hardware Interlock

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.

The Anti-SaaS Business Model

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.

Comment

About

I was exhausted by legacy "mouse jigglers" that drain laptop batteries, waste CPU cycles, and trigger corporate IT security alarms just to keep a chat status active. I wanted a true, bare-metal systems solution.