Lev

Available to try · project by Lev

Kelvin

A macOS menu-bar app that limits how far a MacBook's battery charges, pauses charging when the battery runs hot, and shows where the Mac's power goes, app by app.

Availability
Free to try with a one-command Mac install. The source is not public yet.
Built for
MacBook owners who keep their Mac plugged in and want the battery to last, including people switching from AlDente.
Platform
macOS 26 or later on Apple silicon

Install in one lineClick to copy, paste in Terminal

Visit Kelvin (opens in a new tab)

What Kelvin does

Kelvin keeps the battery at the level you choose, from 20% to 100%, using the charge limit built into macOS, so nothing has to keep polling the hardware. Coasting lets the battery drift a few percent below the limit before charging again, instead of topping up all day.

Heat Protection pauses charging while the battery is warmer than a limit you set, in Celsius or Fahrenheit. Top Up charges to 100% once when you need a full battery, through both the limit and Heat Protection; pressed on battery power, it waits for the next plug-in.

  • Charge limit, Coasting, Top Up, Discharge and Calibration.
  • Heat Protection, 35 °C by default once it is turned on.
  • A menu bar icon drawn like the macOS battery, with bolt, plug and flame states.
  • Schedules, Shortcuts actions and a one-click import of AlDente settings.

Where every watt goes

The popover draws power coming from the adapter and the battery, running the Mac, and branching into each app drawing a few watts or more, with its icon. Click either side of the flow to see only where the power comes from or only where it goes.

Power per app is an estimate, like Activity Monitor's: each process's CPU energy from macOS plus its share of GPU time, with helper processes counted under their app. Background and macOS processes get a line of their own, and the rest of the Mac covers the display, memory, storage and wireless.

Built to stay out of the way

With the popover closed, Kelvin wakes once a minute to take a sample and otherwise only when macOS reports a change. On an M4 MacBook Pro it averaged about 0.05% CPU while idle and opened its popover in about 26 ms, because the popover is built once at launch.

History of battery level, power, temperature and energy by app stays in a small database on the Mac and starts with the month of battery history macOS already keeps. Kelvin makes no network connections and has no account or analytics.

How it works

Changing the charge limit needs administrator rights, so a small helper asks for them once in System Settings. It only accepts requests from Kelvin signed by the same developer, runs while Kelvin needs it and quits shortly after its last use. While AlDente is running, Kelvin only watches, so the two never fight over the battery.

Current limits

  • Charge control needs the charge limit macOS offers on Apple silicon MacBooks; elsewhere Kelvin only monitors.
  • Power per app is an estimate, not a meter reading.
  • AlDente's history is encrypted, so Kelvin imports AlDente's settings but not its history.

Your bag (0)

Your bag is empty.

Browse stickers, wallpapers and character art.

Browse products
Kelvin: status, product details, and build notes | Lev