## Inspiration

It is really easy for a university student to procrastinate and get distracted when they should be studying. As university students, we wanted to create an application that encourages students to stay focused while studying. In addition, our project is inspired by the mobile app Forest.

## What it does

Deer Timer works as follows:
(1) A deer is on screen for the duration of the app’s runtime.
(2) The user can enter a certain amount of time they would like to study for. The application will count down from this time.
(3) If the user switches windows away from the application, the deer will spontaneously combust and slowly die. The user being away from the application window is our way of indicating that the user is getting distracted by something that isn’t relevant to what they’re supposed to be focusing on.
(4) If the user never switches windows, then the adorable deer stays alive, and the user receives the satisfaction of saving them.

## How we built it

We used Python and the PyQt libraries. We also used various sources from the web for the sound effects, music, and graphics (cited below).

## Challenges we ran into

Learning PyQt5 was a new package we had to learn, so it was somewhat of a learning curve. In addition, we learned DaVinci Resolve to help with some of the deer image creation.

## Accomplishments that we're proud of

We thought the screen detection (detecting window switching) would be difficult to implement, but it was actually the opposite, so we're proud of that. Also, making a user interface that connects every component we all made together felt fulfilling. In addition, we think our deer is quite cute 🦌.

## What we learned

(1) PyQt5
(2) DaVinci Resolve

## What's next for Deer Timer

We plan on incorporating more ways we can tell that the user has been distracted. An example of such is using the user’s webcam and machine learning to detect if the user has picked up their phone.

## Citations

Idea: inspired by the Forest App: <https://www.forestapp.cc/>
Deer Drawing: tutorial from <https://www.easypeasyandfun.com/how-to-draw-a-deer/>
Fire Greenscreen: <https://www.youtube.com/watch?v=mhKFAgv6umY>
Picture of DH in the thumbnail: <https://www.utm.utoronto.ca/facilities/building/deerfield-hall>
Music playing: <https://www.youtube.com/watch?v=IEEhzQoKtQU>
Music links:

1. rain: <https://www.qtfm.cn/channels/276506/programs/12076436/>
2. fire: <https://www.qtfm.cn/channels/402136/programs/17815663/>
3. bird: <https://www.qtfm.cn/channels/402136/programs/17816074/>
4. piano: <https://www.qtfm.cn/channels/402136/programs/17826879/>
## Inspiration

As a student we know that keeping on top of all your school work can be hard, especially when the assignments, tests, and exams start building up. This apps inspiration is to help you be more efficient in your studying and make good habits.

## What it does

The program takes as input the dates of upcoming tests, assignments, and exams. Using this data, it works out what subject the user should prioritize each day to be ready for each assessment. Using the amount of days until the assessment is due and the percentage weight of the assessment it ranks the type of assignment and subject from most important to least and tells the user the most important thing for them to study.

## How we built it

First, we talked about how the design and the user interface, brainstorming was really useful. We decided to take all the weights and the past tests of the assessments and record them. these eights are usually found on the course outline of the subject. Then through careful revision and analysis we made an algorithm that figures out how you should work to succeed and raise your average. Python was implemented and we were planning to make an app but we needed a little more resources and time.

## Challenges we ran into

We wanted to make the application as detailed as possible, so it would be able what subject to study for and what type of assessment, then we also wanted to add a daily timer feature that would suggest the number of hours of studying. This was a little difficult as we were in a tight spot with time and resources. finally as we were working on making the Application android friendly the software we were using did not work, and we were unable to make it into an application, but the code worked well.

## Accomplishments that we're proud of

the final output of the code and the processes to get the output the user see's were a long process and it was a proud moment when the code started to work

## What we learned

we learned a lot about class's and objects as well as parent and daughter class's

## What's next for Success Prio (SP)

We were also researching machine learning to personalize the application for each user, as every user has a different study style and is naturally better at some subjects over others. we would do this by introducing a factor into the ranking process about weather or not they need more or less time for certain subjects. as well we would like the user to be able to use this application and input his or hers grads after following our set out schedule and adjusting the factors for how good they are at each subject using machine learning after training the computer for each user. As well as, having the application more powerful in managing the subjects and hourly rate of studying.
## Inspiration

With everything being done virtually these days, including this hackathon, we spend a lot of time at our desks and behind screens. It's more important now than ever before to take breaks from time to time, but it's easy to get lost in our activities. Studies show that breaks increases over overall energy and productivity, and decreases exhaustion and fatigue. If only we had something to help us from forgetting..

## What it does

The screen connected to the microcontrollers tells you when it's time to give your eyes a break, or to move around a bit to get some exercise. Currently, it tells you to take a 20-second break for your eyes for every 20 minutes of sitting, and a few minutes of break to exercise for every hour of sitting.

## How we built it

The hardware includes a RPi 3B+, aluminum foil contacts underneath the chair cushion, a screen, and wires to connect all these components. The software includes the RPi.GPIO library for reading the signal from the contacts and the tkinter library for the GUI displayed on the screen.

## Challenges we ran into

Some python libraries were written for Python 2 and others for Python 3, so we took some time to resolve these dependency issues. The compliant structure underneath the cushion had to be a specific size and rigidity to allow the contacts to move appropriately when someone gets up/sits down on the chair. Finally, the contacts were sometimes inconsistent in the signals they sent to the microcontrollers.

## Accomplishments that we're proud of

We built this system in a few hours and were successful in not spending all night or all day working on the project!

## What we learned

Tkinter takes some time to learn to properly utilize its features, and hardware debugging needs to be a very thorough process!

## What's next for iBreak

Other kinds of reminders could be implemented later like reminder to drink water, or some custom exercises that involve sit up/down repeatedly.