DEV Community

Leo Zhang
Leo Zhang

Posted on • Originally published at opennomos.com

I Built a Focus Timer That Doesn't Try to Be Your Life Coach

Disclosure: I work on OpenNomos, the platform that powers OneZen.

Every productivity tool today wants to be your entire operating system. Tasks, habits, journaling, pomodoro, analytics dashboards, team features, integrations with seventeen other tools — and I just wanted a timer.

The problem with focus apps

I've tried them all. Forest, Toggl Track, Focusmate, Flow Club, Endel, Brain.fm. Each one comes with at least three of:

  • A signup flow that takes five minutes
  • A ~$12/month subscription for features I'll never use
  • Gamification that makes me feel guilty about yesterday's unproductive streak
  • A notification asking me to "reflect on my focus session"

Here's the thing: when I need to focus, I don't need a life coach. I need a frictionless way to say "give me 25 minutes of silence."

Enter OneZen

OneZen does exactly three things:

  1. Pick a duration — from 5 minutes to 2 hours
  2. Pick a sound — rain, fireplace, white noise, or silence
  3. Go

That's it. No accounts. No streaks. No guilt trips about the Tuesday you spent doom-scrolling. Just a timer and a sound that fades out when your session ends.

The design philosophy is intentionally boring: every feature that didn't directly help someone enter flow state got cut. The settings panel has 8 options total. The codebase is ~200 lines of vanilla JS, a single HTML file, and a CSS file you can read in under 2 minutes.

Why "boring" is a feature

As developers, we're naturally drawn to adding things. A new framework, a better state management pattern, a dark mode toggle, user preferences, a leaderboard. Every line of code feels like progress.

But focus tools are the one category where more is almost always worse. Every extra click between you and flow state is a tax on your attention span. Every additional feature is a potential distraction.

The hardest thing I did while building OneZen wasn't the audio integration or the timer logic — it was resisting the urge to add "just one more thing." I probably killed 10 features before writing a single line of production code.

What I learned

  1. Audio is underrated. Most "focus" apps treat sound as an afterthought. But the right ambient noise (rain, specifically, in my testing) has a measurable effect on sustained attention. The science on this is solid — steady-state noise masks intermittent distractions.

  2. Friction is the enemy. People don't stick with productivity tools that require setup. The median time between "I need to focus" and "I am now in flow" should be under 5 seconds.

  3. Ship before it's ready. I could have spent another month adding features, but the current version already does its one job well. The feedback loop from actual usage is worth 10x more than internal polish.

Try it yourself

OneZen is available on OpenNomos as an open-source contribution project. If you're someone who just wants a timer without the baggage, give it a shot. If you want to add a feature or improve the audio, the repo is open.

The entire philosophy can be summed up in one sentence: the best focus tool is the one you actually use.

Top comments (0)