I wanted a simple Pomodoro timer that works locally, offline, and doesn’t require an account or sync anything to the cloud. Most Pomodoro apps I tried were SaaS‑based or came with way more features than I needed… So I built MPomidoro.
It runs entirely in the terminal and keeps everything on your machine.
What it does:
- runs locally, no cloud, no telemetry
- no accounts, no sync
- configurable work/break intervals and cycle count
- guides you through each Pomodoro stage
- generates a small session report at the end
works on Windows and Linux (Python, no external deps)
It’s not a “self‑hosted service”, but it is a local‑first alternative to Pomodoro apps that store data online. Sharing it here in case anyone prefers lightweight, offline tools.
GitHub: https://github.com/Mietkiewski/MPomidoro
Gumroad PWYW $0+: https://mietkiewski.gumroad.com/l/mpomidoro
@mietkiewski_dev I had to search to see what a #Pomodoro was … interesting - a time management technque - en.wikipedia.org/wiki/Pomodoro…
I prefer this technique: https://app.flowmo.io/
You start a timer. When you’re done with your task or just need a break you stop the timer and your break length is proportional to how long your work timer went for.
So if you work for 20 you then get 5 minutes of break. But then if you work for an hour you get 15 minutes of break.
Your github has no source code or licensing. Not sure if that was intentional or not since i see your github acct is only a few days old
How’s that connected to “selfhosted”. One does not “selfhost” a terminal app
I think the interpretation here is more about breaking from dependence on others.
For anyone wondering how a session looks, here’s a small example:
Title: Plan the weekly tasks Work interval time in Minutes: 15 Break interval time in Minutes: 5 Intervals Count: 3Pomidoro Plan the weekly tasks 3 x 15min 5min WORK #1 15min BREAK #1 5min WORK #2 15min BREAK #2 5min WORK #3 15min BREAK #3 5min Conclusions: This session helped me organize my thoughts.The tool asks for a short conclusion at the end — I found that part surprisingly helpful for wrapping up a session.
Is printing to stdout how it alerts you to a timer ending?


