Building Pomo: A Pomodoro Timer That Actually Helps You Focus
The story behind building a minimalist Pomodoro timer with concentration music and productivity tracking.
On this page
- TL;DR — The short, funky version
- The Problem with Existing Apps
- Design Goals (the short manifesto)
- What I Built
- 1) Clean Timer Interface
- 2) Concentration Music
- 3) Simple Progress Tracking
- Tech Notes (for the curious engineer)
- Small example: the timer hook (concept)
- UX Decisions I Stand By (short, opinionated)
- The Hard Part: Simplicity Is Discipline
- Pocket Tips — Make Pomo Work For You
- Final Thoughts
🔥 Quick vibe: Minimal UI, maximal focus. No bloat. No bells. Just a little app that gets out of your way and helps you get stuff done.
Hook: Want a Pomodoro timer that doesn't try to be your life coach? Same. I built one that respects your attention and only nudges you when it matters — with a splash of chill music links and a tiny bit of accountability.
CALL OUT — Why this exists
Most Pomodoro apps are either a shrine to metrics or a blank timer. Pomo lives between those extremes: simple UI, optional concentration music, and non-invasive progress tracking. Use it. Ignore it. Either way, it respects your focus.
TL;DR — The short, funky version
- Clean, distraction-free timer front-and-center1 ⏱️
- One-click concentration music links (YouTube/Spotify) 🎧
- Local-only persistence — no backend, no tracking 👀
- Built with React + Local Storage, deployed on Vercel 🚀
The Problem with Existing Apps
Here's the pattern I kept running into:
- Overly simple: just a timer — no context, no nudge, no soul.2
- Feature-bloated: settings, badges, streaks, and a dashboard that screams for attention.3
I wanted something that sat politely on your screen and helped you do one thing: focus.
Design Goals (the short manifesto)
- Visible timer, minimal chrome.
- Quick access to calming audio — one click to get into the zone.4
- Keep the data local and private.
- Make progress visible without turning it into a KPI contest.
What I Built
Pomo focuses on three core things:
1) Clean Timer Interface
The timer comes first. Big number. Subtle progress ring. Start / stop / skip. No intrusive onboarding, no nagging modals.
2) Concentration Music
Rather than embed a full player (hello complexity), I curated a handful of links to focus playlists. One tap, new tab, get back to work.
3) Simple Progress Tracking
You can glance at how many pomodoros you finished that day. No streak shame. No gamified dopamine loop. Just a quiet record.
Tech Notes (for the curious engineer)
- UI: React with tiny local state (no heavy global state nonsense)
- Persistence: Local Storage for speed and privacy
- Hosting: Vercel for instant deploys and effortless CI
Minimal dependencies. Maximum focus.
Small example: the timer hook (concept)
// Example: super-simple React hook (concept)
import { useState, useEffect, useRef } from 'react';
function useTimer(initialSeconds = 25 * 60) {
const [secondsLeft, setSecondsLeft] = useState(initialSeconds);
const [running, setRunning] = useState(false);
const intervalRef = useRef(null);
useEffect(() => {
if (running) {
intervalRef.current = setInterval(() => {
setSecondsLeft(s => {
if (s <= 1) {
clearInterval(intervalRef.current);
setRunning(false);
return 0;
}
return s - 1;
});
}, 1000);
}
return () => clearInterval(intervalRef.current);
}, [running]);
return { secondsLeft, running, start: () => setRunning(true), stop: () => setRunning(false), reset: (s = initialSeconds) => setSecondsLeft(s) };
}(Yes, useReducer + effects gives you better control for a production hook — this is the idea.)
UX Decisions I Stand By (short, opinionated)
- No default gamification: if you want streaks, build them into your routine, not the app.
- Minimal UI: reduce the number of decisions the user must make while focused.5
stylingmatters: subtle shadows, a readable type scale, and a single accent color keep attention on the tasks, not the app.
The Hard Part: Simplicity Is Discipline
Every feature request gets the same test: "Does this help people focus, or will it distract them?6" The latter loses.
Features that were rejected:
- Built-in music player (too heavy)
- Push notifications for every session (nope)
- Deep analytics dashboards (tempting, but noisy)7
Pocket Tips — Make Pomo Work For You
- Use a short playlist for high-focus sessions; a longer one when doing shallow work.
- Combine a pomodoro with a tiny, clear goal: "Write 200 words" beats "work on project".
- If you need gentle accountability, share your daily count with a friend — outside the app.
Final Thoughts
Building simple tooling is deceptively difficult. You strip away features until only what matters remains — and then you ship. That's the essence of Pomo: small, useful, and polite.
If you try it, I'd love to hear what you changed to make it yours.
Try Pomo: https://pomo-coral-eight.vercel.app — and tell me what you changed. Make it funky, make it yours.
Notes
- 1Context
The Pomodoro Technique was invented by Francesco Cirillo in 1987 when he couldn't focus while studying for a sociology exam. He grabbed the first kitchen timer he could find — shaped like a tomato (pomodoro in Italian) — and bet himself he could concentrate for just two minutes. He spent the next five years refining the method and has since taught it to millions.
— Francesco Cirillo
source → - 2Source
A scoping review of 32 studies (5,270 participants) found that time-structured Pomodoro interventions consistently improved focus by 15-25% and reduced mental fatigue by ~20% compared to self-paced breaks. 88% of studies showed positive outcomes. However, the impact on raw productivity and task completion was more variable than commonly claimed.
— BMC Medical Education, 2025
source → - 3Quote
"Deep work is professional activity performed in a state of distraction-free concentration that pushes your cognitive capabilities to their limit." Cal Newport's research on attention residue shows that switching tasks — even briefly checking email — leaves a cognitive residue that saps focus on the next task. The Pomodoro structure combats this by enforcing single-task blocks.
— Cal Newport, *Deep Work* (2016)
source → - 4Context
The concept of "attention residue" was identified by business professor Sophie Leroy in her 2009 paper Why Is It So Hard to Do My Work?. She found that when you switch from Task A to Task B, part of your mind keeps processing Task A, reducing performance on B. Cal Newport popularized this finding to argue for long, uninterrupted focus blocks.
— Sophie Leroy, 2009
source → - 5Source
Adobe reported that minimalist design use in mobile apps grew by 147% since 2016, with 44% of designers choosing it for app interfaces. Research shows that clean, uncluttered interfaces reduce cognitive load and create what designers call "cognitive tranquility" — a sense of calm that improves both user satisfaction and task completion.
source → - 6Quote
"Who you are, what you think, feel, and do, what you love — is the sum of what you focus on." Newport's central thesis is that our attention literally shapes our experience of reality. Tools that respect attention (rather than competing for it) are a form of user respect.
— Cal Newport, *Deep Work*
source → - 7Counter
Interestingly, one study found Pomodoro breaks led to a faster increase in fatigue compared to self-regulated breaks, and a faster decrease in motivation. The technique works best for people who struggle with starting or who face constant interruptions — if you naturally enter flow states, rigid 25-minute blocks may actually break your rhythm.
— Prem et al., 2023
source →