When I focus on a task at hand, I tend to lose track of time and can spend a few hours without leaving the desk. I know that taking short breaks, walking around and doing some physical exercises does wonders to one's thinking and work, but I often need an external trigger to get moving.
During one of the breaks between tasks I decided to quickly build a Pomodoro app in Python and let it talk to me — merely to announce the end of a work interval and then remind me to get back to work after five minutes away from the computer.
I used Pyttsx3 — a text-to-speech library in Python. It works like a charm on macOS with support for different voices and languages (US, UK, male, female for example). My Pymodoro app stores records about work activity (task, period and time of start of the work interval) in an SQLite3 database.
A few days later I added a reporting feature to summarise the work day and a simple menu with all functions.
The code is available here.