Inspiration

Getting into the university I was overwhelmed by everything and as a shy person I had it hard to communicate with people so finiding out where my classes where being held or even which classes I am having was quite difficult. I would usually stay around hostel corners or halls hoping I would over hear someone saying they were in my department so i could tag along. Eventaually I got the list of courses I having having with their class halls but that was after a week or two of missed classes. Another issue I had in the university was finding a good study timetable that will just be right and this was not just a me problem but a lot of my friends also had that challenge so it was usually trial and error for the timetables and that usually resulting to not hitting the semester's gpa.

What it does

This website helps students stay organized and excel academically by creating personalized study and exam timetables. The system can pull course data directly from their university’s catalog and generate a clear plan tailored to their schedule. For students with carryovers, it simplifies managing courses that exceed the credit unit cap by providing structured course outline management. This reduces overwhelm, ensures balanced workloads, and keeps students on track throughout the semester.

How I built it

I built it using NextJs for the framework, Gemini API for the AI assistant for timetable generation, Supabase for the database, Clerk for Authentication, Inngest for running AI input and outputs in the background and Tailwind CSS for Styling

Challenges I ran into

During developement I ran into a few problems which are:

  • Firstly integrating the AI and getting its output because as I made it to be handled through inngest it is categorized as individual component of the website and that caused an issue with storing or reading prompt for prompt caching because I set supabase rls for the tables to be only accessible for authenticated users. I could have left just the prompt table without any rls but then people can modify it though api calls and that would be catasthrophic. Another problem was creating a good enough prompt for the AI to know its system role because the AI sometimes did too much or too little when generating the timetable. -I also met up with a thought rather than an issue that what if users input fake courses. This was an issue because i made it that when students input courses and start chat with AI it would store the courses and the courses will be displayed in the courses catalogue and this would definitely cause issues for new students

Accomplishments that I am proud of

I was able to come up with a way to get courses from various universities without needing me to have to go to every university. I did this by making it that as students input their courses for it to be used for study timetable generation, it would be stored in the database but i also made it that it would not show in the catalogue unless it appeared more than once or twice in the database. This was if students put fake courses it would not be registered in the courses catalogue. With this courses for each university will be up to date.

What's next for StudyPlan AI

  • I plan on on making it a mobile app with fully integrated admin setions where school boards can access students courses by this I mean to see which courses students are having issues with or failing.
  • Making a dedicated api for universities and the courses up-to-date for people to be able to integrate and use in their own build.

Built With

  • clerk
  • clerk-for-authentication
  • gemini
  • gemini-api-for-the-ai-assistant-for-timetable-generation
  • inngest
  • nextjs
  • supabase
  • supabase-for-the-database
  • tailwind
Share this project:

Updates

Submission history