Ubuntu Suspender โ a project by Ahsan Mahmood
Battery management application for Ubuntu/Linux with auto-suspend and power profiles
Ubuntu Suspender is a desktop application about one thing: how long a Linux laptop lasts between charges.
Four capabilities, in one window. Auto-suspend, power profiles, system monitoring and battery health tracking.
Auto-suspend is the one that saves the most and irritates the most.
Suspending an idle machine is easy to describe and awkward to get right, because the rule that protects a battery on a laptop left open at lunch is the same rule that will put the machine to sleep in the middle of something you left running on purpose. Everyone who has been caught by that once configures it differently afterwards.
Power profiles are the manual half of the same decision.
You choose the trade you want between speed and endurance, and the machine stops guessing on your behalf. A profile is a statement of intent rather than a heuristic, which is the right shape for the times when you already know what the afternoon looks like.
System monitoring is what makes the other two arguable instead of arbitrary.
A number in front of you changes what you set. Without one, a power profile is a preference. With one, it is a measurement you can go back to and disagree with later.
Battery health is the long game.
A battery does not fail on a particular Tuesday. It loses capacity slowly across a couple of years, and the only way to see that curve is to have been recording it since before anybody cared about it.
The application is built with React and TypeScript inside Electron, with Node.js underneath doing the reading.
That last part is the reason Electron is here at all. The values this kind of tool needs come from the operating system rather than from a browser API, and Node is the half of the runtime that can ask for them and render them in the same process.
It is a userspace application.
Everything it does, it does through what the system already exposes, which is a limit worth knowing before expecting it to change how a machine sleeps at a level below that.
What it cost is the obvious thing to notice.
An application about power consumption ships a browser engine of its own. That is a genuine tension and I am not going to argue it away: Electron bought a familiar interface layer and a process with system access, and it charged for both in memory on a machine whose battery is the subject.
The trade holds while the window is closed most of the time and the settings it wrote keep working. It holds less well if you leave it open all day watching a graph of the thing it is consuming.
One person wrote all of it. The suspend logic, the interface, the packaging, and the decision about which of the four capabilities was worth building first.
There is no public link here.
The product is not publicly reachable, so there is nothing here for you to open and check, and that is the honest state of it rather than an omission.
What is left is the description above.
It is accurate about what the application does and silent about the things the record does not carry, which is the only version of this page worth publishing.
What it does, and what that costs to build
- Auto-suspend
- Power profiles
- System monitoring
- Battery health tracking
Built with
- React
- TypeScript
- Electron
- Node.js
Worth knowing
- linux
- ubuntu
- battery
- desktop-app
Who built Ubuntu Suspender?
Ahsan Mahmood built it alone, as a desktop application in React and TypeScript on Electron, with Node.js underneath reading the system. There is no public link on this page. The product is not publicly reachable today, and a portfolio page that invents somewhere to send you is worse than one that says so plainly. What is on this page is a description of what the application does, which is the part I can stand behind without a link beside it.
What does auto-suspend actually decide?
When an idle machine should be put to sleep instead of left awake. That is easy to describe and awkward to tune, because the same rule that saves a battery on a laptop left open at lunch is the rule that will suspend a machine in the middle of something you deliberately left running. Ubuntu Suspender puts the rule in front of you rather than burying it, which is the difference between a setting you adjust once and a behaviour you eventually switch off in frustration.
What is battery health tracking for?
Seeing degradation before it becomes a surprise. A battery does not fail on a particular Tuesday: it loses capacity slowly over a couple of years, and the only way to see that curve is to have been recording it since before anyone cared. Tracking health turns a vague feeling that the laptop does not last as long as it used to into a series of readings, which is also the difference between replacing a battery on evidence and replacing it on a hunch.
Does Ubuntu Suspender run on Windows or on a phone?
No. It is built for Ubuntu and other Linux systems, and it is a desktop application rather than anything mobile. There is no iOS release behind any of my work, because there is no Apple Developer account here and nothing I build has shipped to the App Store. Power management is also close enough to a particular operating system that a build claiming to cover several would be making a promise about paths and interfaces it could not keep.
Why is a battery tool an Electron application?
Because the readings come from the operating system rather than from a browser API, and Node.js is the half of Electron that can ask for them. That choice buys a familiar interface layer and a process with system access in one package, and it charges for both in memory. It is a real tension in a tool about power consumption and it is worth stating rather than arguing away: the trade holds while the window is closed most of the time, and it holds less well if you leave a graph open all day.
https://aoneahsan.com/projects/com.aoneahsan.ubuntususpender