Behind the scenes
mmodoro
- Project
- An in-house Dontdoit product, used in our own daily work.
- Ownership
- Vlad: product direction, interface design, and engineering.
- Status
- Working web app. Desktop companion in development.
- Built with
- React, TypeScript, Vike, Cloudflare Workers, Postgres, and SQLite.
The starting point
A timer can tell you how long you worked. It takes more to remember what you worked on, pick it up tomorrow, and see progress across a week.
We built mmodoro to keep those pieces close: work sessions, daily notes, a calendar, and a small game that rewards time spent working.
Keep the work together
The workspace puts the timer beside notes and planning. Starting a session and keeping track of the work happen in the same place.
Time tracking, notes, and progression have separate responsibilities under the hood. That lets us change one part without rebuilding the whole workspace.
Treat recovery as part of writing
A saved note and the words you are still editing need different protection. Saved notes keep a revision history on the server; unsaved drafts have a local recovery store.
That distinction gives recovery a clear job when a page closes or a save fails. It also sets an honest limit: browser storage can be cleared, so a local draft is not a permanent backup.
Keep one account of a session
Starting, pausing, and stopping a timer has to mean the same thing across tabs and devices. Session updates go through the server, and shared rules calculate time and rewards.
The desktop companion reuses that session model. It adds desktop behavior around the product rather than inventing a second version of what a work session means.
Outcome
The web app brings time tracking, daily notes, calendar views, and progression into a working product that we use ourselves. The work spans product decisions, interface design, persistence, and cross-device updates.
Daily use gives us concrete problems to fix. Wider adoption and changes in productivity still need to be measured with users.
Still in progress
mmodoro is in active development. The web app is available now; the desktop companion is experimental and still needs wider platform testing. We are keeping the public promise tied to what people can use today.
Have something that needs a technical owner?
Talk with Vlad about a role, a product, or a system your team depends on.