Functional Specification
Version 1.0
Authored by Pawel Grimm
Last Updated: November 6, 2020
Pomi is a web application designed for tracking time spent using a timeboxing methodology (e.g. Pomodoro Technique™).
The main goals are as follows:
- Provide an intuitive and easy-to-use interface timer interface
- Allow users to create and search projects and tasks and/or integrate with projects and tasks from Todoist
- Link work sessions with projects and tasks
- Provide a reporting solution for analyzing productivity
- Allow users to estimate how long tasks will take and compare to actual time taken
This spec is not, by any stretch of the imagination, complete. All of the wording will need to be revised several times before it is finalized. The graphics and layout of the screens is shown here merely to illustrate the underlying functionality. The actual look and feel will be developed over time with the input of graphics designers and iterative user feedback.
- Web client
- Configurable timer
- Logging work sessions to database
- Searching for tasks and projects and linking them to work sessions
- Creating and editing projects and tasks
- Viewing and filtering logged sessions
- User authentication
- Native notifications
Sarah is a busy support engineer that wears many different hats. She is responsible for customer success across her 3 clients, manages 6 engineers, and leads a workgroup. She wants to make sure she is spending her time effectively. She uses the Pomodoro technique to pace herself and track work that she's completed. However, she doesn't have a great way to get a bird's eye view of how her time is being spent over the course of weeks or months. Pomi will allow her to analyze his time and spend it more effecively.
Note: This has been de-scoped from v1 and will be adress in the next major release (v2).
Lucas is a junior software developer that struggles to spend their time productively. They work on what they want to instead of what they have to and they're really bad at estimating how long things will take. Like, really bad. Pomi will help them choose tasks from a Todoist project, estimate how long they thinks something will take them, and track how long each task actually took to complete. Over time, this will allow them to complete more work and provide better time estimates.
This version will not support the following features:
- Logging an estimated time for a task
- Todoist integration (associate session with task or project, automatically complete linked tasks)
- Splitting a session between multiple tasks
- Prompting user to take a long break
- Offline mode
Figure 1. Pomi State Diagram
Figure 2. New Session
Figure 3. TimerPage In Progress
Figure 4. Menu
Figure 5. TimerPage Settings
Figure 6. Account Settings (Linked)
Figure 7. Confirmation Modal when unlinking account
Figure 8. Account Settings (Unlinked)