Inspiration

As we delve deeper into the school year, maintaining the motivation to attend classes becomes increasingly challenging. The demands of coursework persist and fatigue inevitably sets in, leading to burnout amongst even the most dedicated and enthusiastic students here at UCI. With such in mind, our team sought out a solution to mitigate the effects of burnout and rekindle the motivation to learn, employing a new aspect of friendly competition to do so.

What It Does

PresAnt! is an iOS mobile app that seeks to revitalize learning and increase class participation amongst Anteaters. Though our app, users will be able to compete with their friends to see who is most diligent in attending their classes. After registering for an account, they will be prompted to take a happy photo and a sad photo of themselves, then submit a .ics file for their schedule of classes. With such completed, they will then have access to a variety of options. In the "Home" view, users will be able to navigate around the campus map and see in real time if their friends have made it to their class, signified by the happy or sad expression displayed. When users successfully make it to class they will earn points and, conversely, when users miss class they will lose points, accumulating ultimately to an overall score. This score can be viewed in the "Friends" view, where the user will be placed on a leaderboard accordingly amongst their friends. The "Friend" view will also grants the user access to their list of friends, where they can either remove or send a request to add a new one, as well as their list of friend requests from other users, which they can approve or deny. To provide additional convenience, the "Updates" view will provide real-time updates on a user's friends, letting them know if they share a class together and if they are heading to class at the same time.

How We Built It

For streamlined frontend functionality, PresAnt! was built using React Native Expo to develop the native iOS app, primarily utilizing TypeScript. On the backend side of things, PocketBase was our choice for the primary method of data storage and Flask was used to host the backend server, all of which was written in Python. Location data was collected using the Google Maps API and the map was displayed using react-native-maps to create a seamless and intuitive experience for the user.

Challenges We Ran Into

With this being the majority of our team's first time working with React Native for a project, it proved to be rather difficult. There was much to learn in a little amount of time and it definitely cut into our efficiency. The components we implemented, particularly the map, were challenging to work with, as the dynamic aspects of it ran into a lot of bugs and difficulties. Connecting both the frontend and the backend was also a large source of difficulty at first. It took a while before we were even somewhat comfortable getting calls working. There was also much waiting before any testing could happen which hindered us even further in the aspect of time.

Accomplishments That We're Proud Of

There are several aspects of our project that we are all extremely proud of. First, and probably the largest, is the idea itself. This is a concept that we all firmly came to believe in and definitely would like to pursue in the future. Another large aspect would definitely be the speed at which we were able to learn these technologies. There was a lot going into this project to make it what it is and we are extremely proud of all the progress that was made until submission.

What We Learned

When coming up with an idea for a project, it is important to be realistic about what you can accomplish in the amount of time given. We unfortunately learned the hard way that being ambitious can sometimes hinder a idea from reaching the outcome you had originally hoped for it.

What's next for PresAnt!

Achieving full functionality with both the backend and frontend is the first priority of our team. We are confident in our idea and are even more confident that with just a little more development we can get it to work as we had originally intended to. Eventually, we hope to deploy PresAnt! on the App Store to be enjoyed by Anteaters just like ourselves.

Share this project:

Updates