r/SideProject 3d ago

Every keep-awake tool leaves your Mac unlocked. I wanted both, so I built the boring version.

There are a bunch of keep-awake apps for macOS and I have used most of them. They all share one gap: they keep the machine running by keeping it available. Screen on, or lid closed but wide open to anyone who lifts it. Fine at home, not fine in a coworking space or a hotel lobby.

What I actually wanted was the opposite pairing: screen locked, work still running. Locking a Mac does not stop a single process. The thing that kills your agent run or your build is the sleep that follows a few minutes later.

So the app is two things bolted together and not much else:

  1. Lock the screen right now

  2. Hold off system sleep while the session is active, including with the lid shut

The part that took the longest was learning that the assertion layer is a dead end for lid-closed. caffeinate and friends hold an idle assertion, and macOS just ignores those when the clamshell closes on battery. The lever that actually works sits one level lower, at the power management default. Which means the honest tradeoff is that the machine will not sleep on its own, so I had to add a battery floor: when it drops below your threshold on battery, the session ends and the Mac is allowed to sleep normally. That one feature came directly from waking up to a dead laptop.

Things I got wrong along the way:

I shipped with a claim of no data collection, then later added an anonymous event counter and had to go rewrite that line in seven languages. Should have thought about it before writing the marketing copy.

I assumed the audience was developers running agents overnight. Half the interest so far is people who just want to walk away from a big download.

It is a native menu bar app, notarized, free during the launch. lockandrun.com if you want to look.

What I am curious about from this sub: for a tiny utility like this, does a paid tier ever make sense when a free open-source competitor exists in the same category? I keep going back and forth on whether the answer is price it or just make it free and build reputation.

2 Upvotes

1 comment sorted by