Inspiration
This project was inspired by the fact that different people have different abilities in terms of studying, mental capacity, attention span, as well as other human factors that affect our effectiveness in accomplishing a certain task such as working or even studying.
A popular technique people around the world use to improve their effectiveness in accomplishing tasks is called the Pomodoro technique. This technique divides our time into task time as well as resting time. A focused and working mind takes a heavy mental toll after a certain period of time. That is why resting time where we are free to do whatever we want is important to avoid burn-outs which cuts down our productivity.
However, different people grasp different abilities as to how long they can spend time to accomplish a task. Different people also need different lengths of time to recharge or refresh their minds. Perhaps some people will gain more mental capacity to work longer periods of time as time goes by.
This became our inspiration to convert one of the most popular task management techniques in the world into something that is flexible yet perhaps still efficient to accomplish as much as possible in a certain period of time while at the same time, avoiding burnouts that destroy our productivity.
What it does
In the simplest form, our project is simply a programmable and adjustable Pomodoro timer. The user is able to put in their own personalized rules (programs) as to when to add time or perhaps decrease time after a number of sessions. Perhaps for every session (1 task and 1 rest), they would want to add an extra 10 minutes to the next sessions. Maybe they want to decrease the time after 2 sessions. Our project allows the user to be flexible yet still maintain productivity.
How we built it
We first designed the logic that allows the user to add custom logic or rules to their timer. After we were satisfied with the logic, we proceeded to build the application using Next.Js; a React framework based on javascript. This application uses absolutely no backend and relies solely on the front end to handle all needed logic. Using React, we are able to implement our logic to handle user-defined rules and programs.
Challenges we ran into
Because our application logic is extremely dynamic, we ran into a lot of challenges with React Lifecycle that prevents this logic to be executed perfectly according to our design. We had to come up with some unusual but working workaround such as force redirecting or substituting intervals with delayed recursive functions due to React's implementation of the synchronous lifecycle.
Accomplishments that we're proud of
We are proud that we are able to finish the whole project in less than 24 hours; from design all the way to final deployment. We are also proud that we are able to create workarounds so that we were able to finally implement our custom logic to fulfill the user's needs.
What we learned
We learned how to understand and work better with React to be able to accomplish unusual tasks. We also learned how to get inside the mind of potential users and understand what they might want from an application.
What's next for BetterPomodoro
We plan on implementing absolutely custom functions where users are able to input their own math or logic that is then executed on our application. With this, users are no longer bound by pre-set rules that we created; but are able to control their time more while still maximizing productivity and avoiding burnout.
We also plan to simplify our application so we may be able to serve the users more efficiently.
Sources
https://pomofocus.io/ https://todoist.com/productivity-methods/pomodoro-technique https://www.techtarget.com/whatis/definition/pomodoro-technique
Built With
- cloudflare-pages
- javascript
- nextjs
- react
- tailwind

Log in or sign up for Devpost to join the conversation.