PomodoroCat

GitHub

Introduction

PomodoroCat is a tool that allows users to customize their work sessions by choosing the length of their short work sessions, breaks, and the number of working cycles before a long break.

Users earn cat coins based on the time they spend working, which can be used to buy decorations for their cat. Cat coins can also be boosted for a limited time, and the more decorations purchased for the cat, the higher the cat’s happiness index, with a maximum threshold of 100.

This positive reinforcement can help reduce the pressure of completing difficult tasks.

Demo Video

The Pomodoro Technique

The Pomodoro Technique is a time management method developed by Francesco Cirillo in the late 1980s that uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. Each interval is known as a pomodoro, which is Italian for “tomato”.

Inspiration

Working remotely can be challenging, especially amidst a worldwide pandemic that knocks everyone off balance. Identifying a way to avoid an overwhelming schedule while coping with pressure from either work or school is crucial to our mental health as well as physical health. After analyzing the current applications that target productivity, we decided to integrate a fun game that allows users to keep their own cats while keeping track of their time using the Pomodoro Technique.

Features

  • Set timer with user-defined durations
  • Interchange between the timer and the cat’s habitat
  • Tap on the shop button, purchase items, and speed up the timer
  • Shop for the cat to add items to the habitat

How we built it

Our front-end developers utilized SwiftUI 2, Combine, and AVFoundation to create PomodoroCat’s timer feature. The UI was designed with two TabViews as subviews of a single NavigationView, making it easy to switch between the timer and cat game screens without duplicating NavigationView code.

SwiftUI 2’s newest @AppStorage property wrapper ensured a single set of data was shared and synced across the app. View models were created for each subview to take advantage of SwiftUI’s MVVM design, enabling future scalability.

To generate potential revenue, we implemented booster features that allow users to speed up their cat coin collection and unlock more cat decorations.

Accomplishments that we’re proud of

We take great pride in our unique graphic designs, which we believe will captivate our future users. Our team has created original designs that are incorporated seamlessly into our clean and intuitive user interface. We have implemented positive reinforcement cycles throughout the app to encourage users to stay on task and meet their goals. The color themes of our user interface have been carefully selected to ensure a visually pleasing experience for all users.

Technologies

  • Programming Language: Swift
  • Libraries: SwiftUI, AVFoundation

Contributors

  • Shengyuan Lu
  • Jessie Yao
  • Susie Su
  • Max Liu