Inspiration

The most common questions we've heard as students at UCI is "How does my schedule look?" and "How's Professor X for class Y?" To help the countless students asking (which definitely includes ourselves), we wanted to create a website that would help provide an easy way to get those questions answered.

What it does

The core functionality of ZotMySchedule is threefold:

  1. Given a schedule, use an XGBoost model to give it a rating based on how manageable and of quality it is.
  2. For the courses in a schedule, display their relative difficulty and quality scores, as well as a summary of other students' opinions of it.
  3. Provide a couple suggestions for schedule changes that the user could make in order to have a better schedule.

How we built it

Our website is hosted on Google Cloud and uses an SQL database. For the actual implementation, we used a combination of Python, HTML, CSS, and Javascript, enabled by the Flask and Jinja2 frameworks. We also took advantage of the PeterPortal and OpenAI APIs.

Challenges we ran into

Front-end development is something none of us had substantive experience with, so it was definitely hard getting started there. After some time (and a lot of googling), though, we were able to put together a interface that we are quite happy with.

Accomplishments that we're proud of

  • Hosting everything on a publicly accessible webpage.
  • Using a variety of technologies and chaining them together.
  • The overall user experience.

What we learned

  • Leveraging our unique skill sets.
  • Working together, especially because we did not know each other before this event!

What's next for ZotMySchedule

  • Clean up some of the rough edges and handle more error/edge cases.
  • Cache more data for faster execution.
Share this project:

Updates