Skip to content
FocusNod

Who makes FocusNod

FocusNod is made by one person at DRISH LABS, an independent studio that builds focused Mac and iPhone apps, including Telly and SpeedPro. It exists because the maker kept losing afternoons to drift that no blocker, timer or tracker ever caught in time.

DrisH, seen from behind in a DrisH hoodie, looking out over green hills

DrisH

Maker of FocusNod, DRISH LABS

I design, build and support every app myself, and I read every email. FocusNod is the tool I wanted for my own afternoons.

@hi_drish on Xdrishlabs.comhello@focusnod.com

Why FocusNod exists

Nobody sits down and decides to waste the afternoon. The task turns hard or boring, the hand reaches for a new tab, and nothing says a word until forty minutes are gone. That isn’t a willpower problem. It’s a missing feedback loop: nothing compares what you meant to do with what’s on your screen while getting back is still easy.

Blockers act on access, and the same site is work one minute and a detour the next, so the list gets switched off. Timers don’t know what’s on screen. Trackers tell you tonight where the day went. FocusNod does the one thing none of them do: it notices the drift as it happens, and only speaks up when it’s sure.

How it’s built

A native Mac app
Swift and SwiftUI, in the menu bar, for macOS 14 and later. Light enough to forget it’s running.
A small server
It holds the AI key, so you never need your own, and stores no window titles.
A fast AI model
It returns how sure it is, so “unsure” means silence, not a question.
Paid once, through Polar
No accounts and no subscription. It keeps working after the year of updates, and old versions keep working with our server.

Principles

Kind words only
“Still on ‘Fix menu bar bug’?”, never “You’re distracted!”
One job, done well
No journals, badges or streaks.
It’s for you
No remote dashboards, no watching other people.
Honest about limits
FocusNod is a nudge, not a wall. If you want hard locks, a blocker is a better fit.

Say hello

Questions, ideas, or a window FocusNod got wrong: write to me.