Pomodoro Timer 🍅 - Shiny Contest Submission

Pomodoro Timer

Authors: Agustin PĂ©rez Santangelo, Angel Escalante

Abstract: Shiny Pomodoro Timer is a time management tool with a neo-brutalist style.

The Pomodoro Technique is a time management method that helps you break down tasks into manageable chunks to improve productivity and focus.

By default, after every Pomodoro cycle (iteration), there's a 5-minute break. Every four cycles lead us to a 15-minute break. However, the user can set all the time intervals by clicking the top-right corner button.

After a work cycle, the user will be rewarded for their hard work!

Full Description:

The app’s primary feature is a customizable Pomodoro Timer, designed to help users manage their time effectively, improving focus and productivity.

Key Features

  • Memory Management with client-side Local Storage:
    One of the app’s core functionalities is its ability to persist session data using the browser’s local storage. This approach keeps data localized to the client side, providing a better experience every time users revisit the app.

  • Custom Styling with SASS:
    The app’s styles are crafted using SASS (Syntactically Awesome Stylesheets), which allows for better management and scalability of CSS.

  • Shiny Modules:
    The app is modularized for better code structure.

  • Centralized State Management using R6:
    This R6 manager handles backend calculations, state management, and triggers the rendering of visual components.

  • API calls for retrieving rewards (dad jokes):
    The app retrieves data from a public "dad jokes" API.

  • Dynamics app title using shinytitles:
    Timer state is displayed in the browser title dynamically.


Shiny app: Pomodoro Timer
Repo: GitHub - AFEScalante/pomodoro-timer: Shiny app for the Posit 2024 Shiny Contest

Thumbnail:
image

Full image: