Inspiration

While playing story-based video games, there often come times when you aren't quite at the right level to progress with the main quest, or maybe you don't feel like accomplishing it yet. These are the times that players usually turn to side quests to boost their stats or learn more about the world. We considered applying this logic to our lives.

Sometimes we get so caught up in our day-to-day goals, or our Main Quest, that we neglect to do other tasks. Other times we may just have a lot of free time at hand and don't quite feel like working on hefty long-term goals. Instead of scrolling mindlessly through videos or memes, our app generates a small side quest from tasks/goals you set yourself. This way you can fill your time in a more meaningful, productive, and fun way.

What it does

The user can create an account and input in some sample side quests (ie. Clean my Closet). They can specify exactly how much time each task will take, what moods they would probably like to do this task in, and provide a specific description of the task. Later, they can generate side quests wherein they will be assigned a random quest based on their specified mood. They can also specify it based on the free time that they have.

How we built it

We created a database in Python using Sqlite3, built a UI infrastructure in Swift, built an API from scratch, and linked our back-end database with our front-end UI.

Challenges we ran into

It took us a while to understand how to set up and create our own database in Python. We ended up with several different versions before settling on two table structure that we felt was the most time-efficient. We initially created a new database for each user. We also struggled with extracting and inputting data since none of us knew SQL programming. We also really struggled with connecting our client-side server (front-end) with our back-end structures. None of us had any real experience with coding these connections, and we ended up needing to change ports several times and created a log file to monitor these interactions. We also struggled with several computers suddenly updating (the record was a 5-hour update!)

Accomplishments that we're proud of

First of all, this was our first hackathon. We are proud of all the effort we put in. The APIs we built from scratch and the backend was robust and versatile, making it easier to accommodate late changes in the original idea for the front end. We also learned Swift and SQL and created an app! It was a lot of work, but I am proud of the growth that we have made as a team.

What we learned

We learned several new languages (Swift, SQL) and programs (integrating Flask, creating databases, writing APIs) from scratch, and familiarized ourselves with a lot of new technologies/software (X-code, SwiftUI).

What's next for SideQuest

In later iterations of SideQuest, we will definitely explore gamifying it more. Perhaps sprites can assign the side quests to you and add to that story feel. Also, there would be a points system for accomplishing side quests that could be spent toward creating a personalized character within the app.

Additionally, I would like to explore perhaps generating side quest ideas using ML and personality ideas. I feel it could transform the app into more of a game-ified version of self-care.

Share this project:

Updates