Inspiration
Studying is already difficult, but when we consider the enormous price tag that often comes with buying materials, it becomes even more so. Many take AP and IB exams in order to gain college credit, but often, they lack the resources, and many times, teachers also lack sufficient resources to teach their students and prepare them. I faced these difficulties myself last year when preparing for my first AP exams, and so, I created Passit to solve some of these problems.
What it does
Users can add specific study courses which will contain all the information they need about scheduling, topics, and reputable external resources. All they must do is specify the course name, along with how long they want the course plan to be. This allows for a realistic and truthful estimate of what needs to be done each week in order to be successful. Each course will also come with mini-lessons with key words and ideas highlighted and underlined for quicker review and easier comprehension. Paired with the lessons comes the practice, which will solidify the user’s skills.
How we built it
The backend was created using Python with the FastAPI library to connect with the frontend, Cerebras API for a LLM to create course materials, and MongoDB as a database to store user information. The LLM used was the Qwen3-480B Coder, a powerful model created by Alibaba Cloud. For deployment, I used Render to host both the backend and the frontend.
Challenges we ran into
This was my first time creating an actual full-stack application with a back- and frontend. In the backend, creating the endpoints and managing CORS errors was a big difficulty at first until I realized that FastAPI had some good documentation on it. Using a database for the first time took some work as well. In the frontend, figuring out how to render all the complex information coming from the backend took some effort, and I often had to go back to the backend to fix things that were not working out.
Accomplishments that we're proud of
It was cool being able to create a full stack application with both a front- and backend, and I was happy with being able to actually use the information sent from the LLM and display it nicely. Also, the database and deployment services I used were completely new to me. Thankfully, both MongoDB and Render have great documentation that helped a lot.
What we learned
I now know how to implement complex API’s in neater ways, and I realized that I have to organize my code a little better. Planning was a huge part of this project. From start to finish, I realized that my plan not only kept me on track, but also motivated me when things were going slowly.
What's next for Passit
Next, I would like to improve the efficiency of Passit, as it currently is quite slow due to the large amount of information it needs. In addition, I want to add the ability to generate small quizzes for the user, and maybe even add the ability to get email reminders.
Built With
- cerebras-api
- css
- fastapi
- html
- javascript
- mongodb
- python
- render
Log in or sign up for Devpost to join the conversation.