Inspiration

Tama-gotchu is inspired by the original Tamagotchi series of toys. By putting the life of a small digital creature in your hands, we incentivize you to get your work done, because even though your life doesn't depend on it, the life of a small sweet creature very much does.

What it does

Tama-gotchu tracks your completed assignments, calendar events, and quizzes on Canvas. Allowing you to then feed the completed items to your virtual pet to keep it alive. This gives you plenty of reason to get your assignments done timely and frequently, to make sure your pet doesn't die.

How we built it

We built it with a react native frontend, using the Expo framework, and Zustand for state management on the front end. The backend is powered by FastAPI and Supabase, taking full advantage of proper authentication using JWT access and refresh tokens, ensuring that only people who should have access to certain information do. We create the voice clips by creating our own speech pipeline, dynamically generating tips for the user to help them stay productive using Gemini 2.5 before passing that into an ElevenLabs sound pipeline, where we turn the tip in the form of text into speech.

Challenges we ran into

The Canvas API proved to be a major struggle, something we expected to be extremely trivial. We were planning on simply getting an API key to access user data, but admin keys for Canvas sites are hard to come by, so we instead had to authenticate using user-generated access tokens. We had issues working with the API as well because the spec was poorly defined. At some point, we found that our code needed a load-bearing print statement. It's still there...we don't know what's causing it, but it makes the code run. This was our first hackathon with more than 2 people for every person involved, so we learned a lot about what it takes to collaborate when developing, especially at high speeds like during a hackathon. We needed to spend a lot of time making sure we were on the same page, including backtracking at certain stages, when there was miscommunication or we focused on the wrong task at the wrong time.

Accomplishments that we're proud of

Our main goal was to learn, and we learned a whole lot. Not to mention we finished with a working application, so I think that's pretty good grounds to end on.

What we learned

We learned what it takes to work in a team of developers, and that sometimes things aren't going to work, and it's very important to work with your team to solve the problems rather than to point fingers and blame others. We learned a lot about React and React-Native, as well as what it takes to create a proper backend with proper authentication.

What's next for Tama-gotchu

We're not sure. I think it has great potential upon completion, but it will be a while after we recover from not sleeping for 24 hours to get it delivered. Stay tuned...

Built With

Share this project:

Updates