Inspiration 🤩

We've all experienced the frustration of teaming up with people who lack responsibility and effort, leaving us exhausted from constantly chasing them to complete their tasks. Or perhaps, our teammates simply don’t share the same goals as we do. That’s where Academate steps in — a community designed to help you find like-minded teammates who are equally committed to achieving shared goals.

What it does 👀

Academate lets you build your own "matching card" for any course of your choice. Each of your matching card will then be processed by our AI model so you can find a bunch of matching cards from other users. You may choose to send a friend request upon someone else's matching card if you think they are a good fit.

Academate also keeps a list of friends that you've added and group them by course code, so you can easily remember which mutual course you have with your friends.

How we built it 💡

We use Next.js to build the frontend, and Express.js to build the backend. We save all our data on MongoDB and deploy everything on Vercel.

Our AI utilises a vector database to embed user objectives and considers factors such as gender and target scores in the matching process. We calculate vector similarity to identify and return the most relevant matching cards based on similar objectives.

Challenges we ran into ⌛️

We struggled the most in the brainstorming session about the what we are about to do, since it feels like DevSoc already did a good job on utilizing their API.

Other than that, our database schema is tightly coupled which is not very ideal for a rapid development. We often struggles to fix a bug fast enough because our database needs to be cleared again for another round of testing.

Presentation prep is a bit tricky, as we tried to make it looks funny but informative at the same time.

Accomplishments that we're proud of 🥰

We didn't expect spending the whole week to build the prototype of this application, as we originally thought we could have done other features as well. However, we still appreciate that the core functionalities were perfectly implemented.

What we learned 📚

We learnt a lot about the process of software development in a fast-pace scenario. From discussing the user stories, we developed an intuition of what we were gonna do and then started creating the database schema. There are many ways to design the schemas, but eventually it needs to be convenient enough for the front-end, AI, and backend devs to use.

And at the end, putting every pieces together also needs a lot of mutual effort, since bugs may occur and resolve them out together is the most efficient way.

We also learnt it the hard way that writing a backend in a rushed environment is very error-prone and hard to debug. In the subsequent hackathons, we will probably need to develop it in a different way.

What's next for Academate 🍵

Academate is indeed a very promising project, and we've got so many ideas for it.

  • Performance Monitoring: Use monitoring tools to continuously track system performance, query execution times, and resource usage. This allows you to detect bottlenecks before they become critical issues.
  • User rating is a nice feature that would tell the credibility of a student, and will be rated by other students.
  • AI Learning: Implement reinforcement learning where the AI adapts its matching criteria based on the success of previous matches

Built With

Share this project:

Updates