Defining the Goal
The guiding principle for StayAwake is absolute minimalism. The tool should fulfill its assigned task, offer intuitive interaction for the defined use cases, and otherwise operate so unobtrusively in the background that it simply fades into oblivion during daily work.
Core Requirements
To achieve this goal, the following core specifications were defined:
- Minimal Resource Consumption: The application must operate with the smallest possible memory and CPU footprint.
- Zero Dependencies: There must be no dependencies on heavy frameworks or external libraries whatsoever. Everything will be implemented as deeply as possible, directly against the Windows system APIs.
- Reduced Interfaces: Interaction is limited to a functional tray icon for status indication and a simple plain-text configuration file for the idle timeout.
- System Integrity: Rather than “tricking” the system, StayAwake aims to be an integral, clean component of the process landscape.
In an era of Electron apps consuming hundreds of megabytes of RAM for the simplest tasks, this goal is a bold statement. Radically limiting the scope requires discipline. It’s not just about binary size, but about reducing the attack surface and potential points of failure. A tool with no dependencies cannot break due to a faulty third-party library update—this is ‘Clean Architecture’ put into practice at the system level.