As someone who is constantly scatter-brained, I have made many different to-do lists. Sometimes I follow through with them, but other times -- let's be honest -- they tend to get forgotten. I've tried other apps and things that "gamified" keeping up with these kinds of things, like Habitica, but could never stay motivated enough to keep up with them.
I've always been a fan of virtual pets like Tamagotchis, and had the idea of using a virtual pet that you had to care for and raise as the motivation to complete the to-do list.
What it does
The idea behind this was to create a page centered around the "critter" that you care for. There is a checklist to the side that you fill out with your tasks, how long you expect to take doing them, etc. If you complete the tasks on time, you are able to feed your critter. However, if you start neglecting your tasks, your critter starts to suffer negative repercussions. To keep your critter healthy and growing, you have to manage your time effectively and get your work done.
To help users bond with their critters, and to keep them motivated, after completing a certain number of tasks, you can unlock mini-games to play with your pet. As they grow from a baby to the older stages, you will be able to unlock more game options to play with them.
How I built it
This web app is built mainly using the Django framework. As the most senior developer on the team, I used this to handle all the back-end features and organization needed for the app. We wanted to keep everything looking simple, with the main focus being on the page with the pet itself. Django let me easily keep everything consistent as well as set up quick and simple forms for users to create accounts and log in.
The front-end work was handled mostly by my teammates, who used HTML and CSS to build the pages themselves, which I then implemented into the overall code.
Challenges I ran into
Accomplishments that I'm proud of
On that note, I personally am proud of getting the checklist application to work. It was probably the most important feature of the site, and I knew for this project to be even remotely successful, it would have to be at least functional enough to work as a basic checklist. After several hours of focusing solely on that, and a lot of Googling, I managed to get it to work, with only minor tweaks to the rest of the website to accommodate it.
I'm also proud of my teammates, who haven't had as much experiences with these languages, but were eager and willing to learn, and learned quickly. They were able to adapt to problems that arose, and we were all able to come together to work on the more difficult problems we faced.
What I learned
Also, as the senior of the group, I became the unofficial team leader, and learned quite a bit about how to delegate and manage tasks among my teammates, as well as stepping in to help them when they ran into issues they couldn't figure out.
What's next for In-Critter-ble To-Do List
The main thing I want to focus on is finishing the rest of the checklist app. I need to make it so that finishing or not finishing a task has an effect on the critter, which is the main feature of the site.
Once that is done, I will probably recruit the help of one of my more artistically-inclined friends to create proper images -- and possibly animations -- for the critter itself, and the different stages it goes through.
Finally, I want to finish the games and perfect them, as well as having them able to be unlocked at the appropriate times.