Pycat.exe is a desktop executable application that generates a cute little virtual cat on the bottom of your screen.
It has two main purposes actually, i.e. to act as:
- a) as a virtual companion, and more importantly
- b) as a tool to help prevent eye-strain & various eye-related conditions for programmers (& the general public)
- Clone the repository using
git clone https://github.com/melvincwng/pycat.exe.git
command. - In the root directory, go into the
src
folder. You should see pycatDemo.zip & pycatFinal.zip. - Copy the pycatFinal.zip into another new folder of your choice & unzip it.
- Open the folder & you should see a
pycat.exe
file. Click on it to run the application. - For the live demo, we will be using pycatDemo.zip instead (contains slightly modified code meant specifically for demo purposes). Copy the pycatDemo.zip into another new folder of your choice, unzip it & then run the
pycat.exe
file as well. - Alternatively, clone the repository, open it using your IDE of choice &
cd src
to get into the src/ folder. Then, run the commandpython pycat.py
to run the application.
Problem statement / Problem description (What is the problem you are trying to solve in the hackathon?)
Millions of people around the world suffer from dry eye & other eye related conditions due to prolonged exposure to digital screens. This is true for programmers as well since they spent a huge amount of their careers staring at a computer screen. This is a huge problem since it can lead to various eye-related conditions such as [1-2]:
- Eyestrain
- Blurred vision
- Dry eyes
- and many more...
This is a huge problem since sufferers of such vision-related conditions usually experience a decrease in productivity, thus causing businesses & economies to sustain huge losses every year [3-4].
While there are indeed pharmacological approaches to combat these eye-related issues caused by prolonged digital screen exposure, however, I strongly believe that there are also non-pharmacological approaches that can be created and utilized to help prevent such eye-related conditions from happening in the first place.
During the hackathon, I observed many of the participants (including myself) spending huge amounts of time staring at our screens and coding. Also, I've observed that not many people were taking breaks regularly as well.
While I understand that the prizes for the Hackathon are attractive, nonetheless, I still believe it is more important to take care of our health & well-being. This is why I decided to create a tool that can help programmers (and the general public) to take regular breaks & hopefully prevent eye-strain.
Quite simply, you click on the pycat.exe
file. Initially, it generates a cute little virtual cat on the bottom of your screen. It will then move around the bottom of your screen & do its own thing (enjoy the cute little animations).
Every 20 minutes, you will start to notice your cat no longer being energetic & in fact, it will become deceased. This is an indicator for you to take a break from your screen. This subtle act of the cat "dying" is to remind you to take a break & to look away from the screen for a while, for we only have one pair of eyes, and ultimately one life only 👀.
This approach/solution used in this desktop app is actually inspired from actual recommendations/guidance by the American Academy of Ophthalmology. They recommend that you take a break every 20 minutes & look away from the screen for 20 seconds at things that are at least 20 feet away [5].
- Python (Core programming language)
- Tkinter (Python GUI library)
- Ezgif.com (gif maker)
- Open source art assets by Bow.Pixel
- Pyinstaller (to package everything up & create the executable/.exe file)
- Will be conducted during Judging session on 15/01/2023
- Some screenshots:
- Devpost link: https://devpost.com/software/pycat-exe
- KIV at the moment:
- More pets of different colour schemes,
- Make into chrome extension (since PyInstaller compiled exe files by Windows don't work in macOS) &
- Possibility of integrating various AI/ML libraries - e.g. to track eyes movement via your webcam? (e.g. ScikitLearn? If it's feasible & got such pre-trained models to use?)
- My thoughts on the entire NUS Hack & Roll Hackathon 2023 can be found here
- Overall, very fun & enjoyable event, and got to meet & network with some amazing people ✨
- DBS Techtrek 2021 (Virtual Hackathon)
- GitHub Hacktoberfest 2022 (Virtual Hackathon)
- NUS Hack & Roll 2023 (Physical Hackathon)
- Melvin Ng (Tag Number: T430, Participant ID: #609, Participant Table: 160)
- Created as part of the NUS Hack&Roll 2023 Hackathon event (14/01/2023 - 15/01/2023)
- American Optometric Association - Computer Vision Syndrome
- American Optometric Association - Eye & Vision Conditions
- Impact of dry eye on work productivity - by Masakazu Yamada, Yoshinobu Mizuno, and Chika Shigeyasu
- Making Eye Health a Population Health Imperative: Vision for Tomorrow.
- American Academy of Ophthalmology - Computer Vision Syndrome
- Tkinter Documentation
- StackOverFlow
- Seebass22's Technical Blog