Estimating how long a task will take is one of the hardest skills for a developer. We're usually too optimistic, and the gap between "this will take an hour" and reality only shows up when it's too late.
Lately I've been trying a simple approach that's been working well for me: combining the Pomodoro Technique with task management.
The approach
Every day I write my tasks down and estimate how many pomodoros each one will take, before I start.
That small step changes a lot. To give a believable estimate, I'm forced to break big tasks into smaller ones. My rule of thumb is that a task should fit in about 4 pomodoros, which is roughly 2 hours with the classic 25/5 setup. If it doesn't fit, it's not a task yet, it's a project, and I split it.
Splitting tasks has a nice side effect: I often discover small subtasks I would have missed, and I can plan them properly instead of being surprised halfway through.
Closing the loop
Estimating alone isn't enough. You improve by comparing your estimate with what actually happened. When I finish a task, I look at how many pomodoros I planned versus how many I used. Over time, patterns show up: which kinds of tasks I underestimate, and which ones I overthink.
The results so far have been encouraging. I'm hitting my estimates more often, and sometimes finishing faster than I expected. On top of that, I get the usual Pomodoro benefits: more focus, regular breaks, and less stress.
The tool: Pomodoro Time Chamber
I built a small app to support this workflow: Pomodoro Time Chamber. The name comes from Dragon Ball's Hyperbolic Time Chamber, a room where a year of training passes in a single day outside. I like to think this app helps you get more done in less time, and with more focus.
It's a terminal app written in Rust. Some highlights:
-
Task list with estimates: set the estimated pomodoros per task and track completed ones (e.g.
3/2when you go over) - Lua plugins: extend it the way you'd extend Neovim, by reacting to events like a pomodoro finishing or the current task changing
- Neovim and tmux integration: see the timer and current task in your statusline
- Presets: keep separate task lists and configs, e.g. work and personal
👉 Check it out on GitHub: https://github.com/andersondanilo/pomodoro-time-chamber
Wrapping up
You don't need a special tool to start. Estimate before you begin, keep tasks small, and compare the estimate with reality afterwards. If you live in the terminal, though, give Pomodoro Time Chamber a try, and I'd love to hear how it works for you.
Top comments (0)