As a personal project, I created a basic Pomodoro Timer to 1) practice my coding skills, and 2) create a timer to help me stay on track with my freelance work.
Basic functionality required:
- User can start a 25 minute pomodoro and the timer will go off once 25 minutes has elapsed.
User can reset the clock for the next pomodoro.
User can customize the length of each pomodoro.
Finding a Solution
Before beginning work on the pomodoro timer, I took some time to think through how to make a simple timer more useful.
As a freelancer, I love tools that help me track time, but I don't want to spend any precious minutes recording hours in a spreadsheet if I don't have to.
So in addition to the basic requirements, I gave myself the additional challenge of adding time tracking.
In the end, I designed and developed a full-featured desktop and mobile-friendly Pomodoro timer. Features are listed below.
Track your time. Use the Pomodoro system of 25-minute work sessions followed by 5-minute breaks with a longer 20-minute break after the 4th Pomodoro.
Saved task history. You don't have to log in, and can pick up where you left off.
Settings tab. Options allow you to customize the length of each timer, and enable sound and/or push notifications to alert you to a completed timer.
Downloadable task history. You can export your task history in both pdf and csv formats to help keep track over time.
Editable task history. Finished early? Switched to another task? Changed your mind? Edit the task description any time after completing the Pomodoro and make your task history as accurate as possible.
Interruption tracker. If you get interrupted during your Pomodoro (always the chatty coworkers, right?), just press pause. When you're ready to get back to work, press start again and the task history will automatically document the interruption (and how much time it took). You can also edit the interruption to indicate why you were interrupted. It's a great way to see what is causing you the most interruptions so you can make your work day more efficient.