Inspiration

The COVID-19 pandemic has profoundly affected every part of our society. Few places, however, have seen as much of an upheaval as education. The widespread move to online schooling or the abrupt ends of school semesters has left a lot of students stranded, with little motivation to continue their journies of learning and self-improvement. To combat this, we decided to develop Eduvize to help them motivate themselves.

What it does

Eduvize works by allowing students to integrate the independent learning app of their choice, like Khan Academy or Duolingo, to their Eduvize account. Eduvize then monitors the student's progress in all of their connected apps and awards them tokens accordingly. These tokens can be used to purchase real gift cards or make in-app purchases. Eduvize also can use the data it collects on each student in order to effectively suggest other content for students to learn or practice based on what other similar users study. This helps keep students interested in learning!

How I built it

We used react-native for the frontend (Android and iOS apps) and Flask and MongoDB for a massively scalable backend. To deliver machine-learning-based recommendations, we used scikit-learn and dynamically updated the models as new user data came in. We designed our codebase to be robust and scalable.

Challenges I ran into

MongoDB was tricky to integrate into our flask pipeline, which led to a split in how we handled the data. However, we made it fully functional and massively scalable thanks to the power of sharding and mongodb-atlas. In addition, many of the services we integrated with lack robust APIs, forcing us to use manual web scraping. This was tricky, as we were down person-hours thanks to one of our teammates dropping out early.

Accomplishments that I'm proud of

Finally integrating all of our APIs was huge, it was a massive task web scraping and finding hacky solutions to pull data from each website we wanted to, but once it was finished and integrated into our database it felt really good.

What I learned

For me, Eric, I had never learned how to use MongoDB, so this was a learning experience for me as I figured out how to search, sort, and modify the database in python on the fly. I also gained valuable experience in creating multiple file flask apps, as that made it much easier for us to keep organized and keep merge conflicts out when multiple people were working on backend at the same time.

What's next for Eduvize

We hope to integrate more online learning services to Eduvise to further encourage educational development. We especially want to integrate with more apps targeted at younger children, as developing a good work ethic and beginning your education at a young age is very important.

APK File

Built With

Share this project:

Updates