Building Dabadoro Desktop: The Part Nobody Sees in Productivity Apps
A real build note on Dabadoro Desktop, why the planner had to sit beside the timer, and what changed once analytics and rewards became part of the daily loop.
I did not want Dabadoro to become another timer with a nicer face.
That is the easy version of a productivity app. Put a big countdown in the middle, add a task list somewhere, give it a dark mode, call it focused. It works for a screenshot. It does not work for a person who opens the app three days later and cannot remember what they were trying to fix in the first place.
Dabadoro Desktop had to answer a more annoying question: what happens before and after the timer?
Dabadoro desktop app hero preview
The First Decision: Stop Treating The Timer Like The Whole Product
The timer is important, but it is not the whole behavior.
People do not fail at focus because they cannot count down from 25 minutes. They fail because the work is vague, the day has no shape, and the feedback arrives too late to matter.
So I put the Pomodoro module beside the actual schedule. The user can see the thing they are about to do, the habit it belongs to, the reward attached to it, and the larger day around it.
That sounds obvious after the fact. It was not obvious while building. A timer screen is visually cleaner when it is alone. The problem is that clean can become empty. I wanted calm, not emptiness.
Dabadoro desktop dashboard with timer, schedule, and activity grid
The Dashboard Had To Carry Three Jobs
The dashboard became the hardest screen because it had to do three jobs at once.
First, it had to start a focus session quickly. No ceremony. Pick the current task, choose a duration, start.
Second, it had to make the day visible. If a task is not placed somewhere, it is not planned. It is just a wish with a checkbox.
Third, it had to show continuity. The activity grid at the bottom is there because people need to see that today is connected to yesterday. Productivity tools often hide that continuity until an analytics tab. I wanted a small reminder on the main surface.
The danger was density. The dashboard could easily become a cockpit. The version that worked best was the one where the side panel carries decisions, the calendar carries time, and the activity strip carries memory.
Analytics Became A Honesty Screen
I almost treated analytics as a nice-to-have page. That would have been a mistake.
Once tasks, habits, and Pomodoro sessions live in the same app, analytics become the place where the product tells the truth. Did the user actually focus more? Are habits being completed, or just created? Is the reward system encouraging consistency, or is it decorative?
The analytics screen is not there to impress anyone with charts. It is there to make patterns hard to ignore.
Dabadoro desktop analytics screen
I kept the top metrics direct: focus sessions, total focus time, completed tasks, completed habits. They are plain on purpose. A user should not have to decode the page before the page becomes useful.
The chart underneath is where the texture lives. Some days spike. Some days drop. That unevenness matters because real productivity is uneven. If the product pretends otherwise, the user stops trusting it.
Rewards Were Not Added For Cuteness
The rewards screen looks playful, but the reason for it is practical.
A lot of productivity apps only punish the user. Missed streak. Overdue task. Red badge. Empty graph. That can work for a week, then it starts to feel like opening a small dashboard of personal disappointment.
Dabadoro needed a positive loop too.
Dabadoro desktop rewards screen
The reward system gives focus sessions and habit completions a second meaning. You are not just clearing work, you are earning toward something inside the app. It changes the emotional temperature of the product.
That was the goal. Not gamification as a gimmick. A little more warmth around the work.
The Fullscreen Timer Is The Quiet Room
The dashboard is for deciding. The fullscreen timer is for doing.
This screen is intentionally sparse. By the time someone reaches it, the app should stop asking for attention. It should hold the session, show the task, and stay out of the way.
Dabadoro desktop fullscreen focus timer
The dark treatment matters here because this is the screen someone might leave open while writing, studying, or doing late work. I wanted it to feel like turning the lights down, not entering a sci-fi control room.
What I Would Change Next
I would make the relationship between habits and scheduled work even tighter.
Right now the system shows both, and they already talk to each other in useful ways. The next step is making the app better at helping the user choose what belongs in the day before they start dragging blocks around.
I would also keep pushing the analytics toward plain-language insight. Charts are useful, but a good app should sometimes say the thing a user does not want to calculate:
You focus better in the morning.
You keep making habits but not scheduling them.
You finish short sessions more consistently than long ones.
That is where Dabadoro can get sharper.
The Actual Lesson
The interesting part of building Dabadoro was not the timer. It was everything around the timer.
The planner gives focus a place to land. The timer protects the session. The analytics screen makes the pattern visible. The rewards screen makes returning feel a little better.
That loop is the product.
Not the countdown. The loop.