I Built a macOS Focus App Because Every Other One Failed Me — Here's the Stack

# indiehacker
I Built a macOS Focus App Because Every Other One Failed Me — Here's the StackJamie

I'm a developer who couldn't stop opening Twitter mid-sprint. I tried Cold Turkey, SelfControl, Focus...

I'm a developer who couldn't stop opening Twitter mid-sprint. I tried Cold Turkey, SelfControl, Focus — they all had the same problem: too many escape hatches.

So I built my own solution. Here's what I learned about focus, blocking, and building native macOS apps.

The Problem With Existing Focus Apps

Most blockers work at the DNS or hosts-file level. That means:

  • They block entire domains (can't watch a YouTube tutorial if youtube.com is blocked)
  • They're easy to bypass if you know your way around /etc/hosts
  • They don't understand the difference between the site and the feed

The real dopamine trap isn't youtube.com — it's the YouTube home feed. Same with Twitter/X. The content you search for is fine. The algorithmic feed is the slot machine.

What I Wanted

  1. Session-based focus — not timers, but task-tied windows
  2. Feed-level blocking — block YouTube recommendations but allow direct video links
  3. Bypass tracking — show me how many times I tried to cheat
  4. Zero config friction — start a session in 2 clicks, not 20 minutes of blocklist management
  5. Native performance — no Electron, no web wrapper, pure Swift on Apple Silicon

The Approach

Built it as a native macOS app using:

  • Swift + AppKit for the UI
  • Network Extension framework for content filtering
  • Menu bar integration for quick-task capture
  • Local analytics for focus scoring

The key insight was intercepting at the content level, not the domain level. When you open YouTube, the app detects the feed and replaces it with a block screen — but direct video URLs pass through.

Sessions > Pomodoro

Pomodoro is time-based. But deep work isn't about time — it's about finishing things.

My sessions are task-based: "Write the auth module" or "Fix the checkout bug." The session ends when the task is done or when you explicitly stop. Some sessions are 20 minutes. Some are 3 hours. The point is one task, zero distractions, until done.

The Data Was Humbling

First week, I averaged 17 bypass attempts per session. Seventeen times in 50 minutes my brain tried to open a blocked site. By week 4, it was down to 3-4. The awareness alone changed my behavior.

Try It

The app is called Monk Mode and it's built for macOS (Apple Silicon native).

🔗 mac.monk-mode.lifestyle

  • One-time $15 (no subscriptions ever)
  • Use code DEV for $5 off → $10 lifetime

It's an indie project, not a VC-backed startup. Just a dev who needed a better focus tool and figured other devs might too.


If you've struggled with the same thing — the constant tab-switching, the "just one quick check" that turns into 45 minutes — I'd genuinely love to hear what's worked for you. And if you try Monk Mode, let me know what you think.