Inspiration

This project was inspired by everyone in our group's excellent procrastination abilities 💀. While there are a million productivity tools out there, none of them address one key issue: work is inherently boring. It’s hard to just put your head down and go to work when there’s no sense of reward at the end to look forward to.

Our app was inspired by a gym application that allowed gamifying the gym, measuring your skill in different parts of your workout (bicep, chest, etc) and allowing the user to ‘level up’ their character. Going to the gym is also something that people struggle with (especially computer science students), so we thought that taking the principles from this app and generalising it to productivity would work well.

What it does

Pawductivity rewards your hard work with coins that you can spend on items for your virtual cat. Tasks in your to-do list are assigned a difficulty level - easy, medium and hard. You are rewarded different amounts of coins based on completion of the task and completing it before the set due date. With these coins, you can buy different cat breeds, backgrounds, and furniture.

The cat's behaviour is determined by the amount of tasks that you complete on time. If you don’t complete many tasks on time, the cat will become lazy like you and sleep all day. However, if you complete your tasks on time, the cat will be energetic and run around the screen. The app also occasionally sends you friendly reminders to check in on your cat and complete your tasks.

How we built it

The underlying software behind this mobile application is React Native, Expo, Typescript, Tailwind CSS. Using React Native we built the tabs that were styled using Tailwind CSS. We could test our tabs and interactivity using Expo for both Android and Apple devices. This helped to ensure consistency across different platforms.

Challenges we ran into

The style of the artwork for this project was pixel art, meaning that most of the sprites were very small icons. When images are scaled up in react native, they would become blurry. To fix this, we used a high-performance 2D rendering library created by Shopify, which doesn’t apply anti-aliasing to images by default.

As there are no accounts or multiplayer aspect, we did not need a large backend and instead wanted to use local storage. However, as we are developing for mobile this is not as simple as it should be and instead requires the use of third-party packages to store user preferences and coin count.

Another thing we struggled with was the scope of the project. None of our group members had done a hackathon before and had great ambitions for the scope of the projects. The 48 hours we had to do it said otherwise, and we ended up having to prioritize the more important features.

Accomplishments we’re proud of

As a group, we are proud to have a complete project that is usable now completed over only two days. We worked well together sharing the workload and helping each other in each and every point needed. We had regular meetings on Discord to brief each other on what we were doing and the progress.

What we learned

The most obvious thing we learnt was about the development of mobile applications. But along the way we learnt good coding practices and habits when working as a team (naming conventions, Git issues, etc). When you work on your own these things don’t particularly matter but in a team, they are paramount to success.

What’s next

As a dog person writing this, the next obvious expansion for the app would be to add more cosmetics, breeds, pets and hopefully users to test the experience. Overall, this project was a blast to work on and the team hopes that users feel the same way when using it. We’d also like to increase the overall polish of the application by adding additional features that were restricted due to time constraints, such as interacting with the pet, pet happiness/emotion, and leaderboard/sharing of cats.

Share this project:

Updates