All work

Don't Idle

A native macOS app that keeps your Mac — and your status — awake.

Role
Designer & engineer — app, landing page, signing & notarization
Company
Don't Idle · own product
Period
2026
Platforms
macOS
Don't Idle — animated first-launch onboarding
Don't Idle — menu-bar popover with live status

The context

Step away for a few minutes and your Mac dims while your Slack or Teams dot turns yellow. Don't Idle reads real input-idle time and, past a threshold you choose, posts a tiny mouse movement that returns in place — enough to read as active everywhere. It runs only during the hours and weekdays you set, and uses an adaptive single-timer engine instead of busy polling, so it barely touches the battery.

Decisions that were mine

  1. 01Real input events, not a fake cursor warp

    The nudge posts a genuine CGEvent mouse move to the HID tap, which resets macOS idle time and keeps chat presence active. That requires Accessibility, so onboarding refuses to finish until the permission is actually granted.

  2. 02Battery-first: adaptive timer, no polling

    Instead of checking every second, the engine schedules a single wake-up at the next decision point and sleeps completely when paused or outside the active window — with timer leeway so the CPU can coalesce wake-ups.

  3. 03Shipped like a real product

    Developer ID signing plus Apple notarization (stapled, hardened runtime, universal binary) so it opens with no Gatekeeper warning — and a custom self-update flow that downloads, swaps the app bundle and relaunches, validated end to end.

Where it landed

Live with a notarized, auto-updating download and a marketing landing page on Vercel. SwiftUI app with animated onboarding, full settings, and English / Português / Español localization.

Screens

Don't Idle — animated first-launch onboarding
Don't Idle — menu-bar popover with live status
Don't Idle — settings window

Next case

PaGol

The digital account that turns balance into miles — and miles into travel.