Inspiration

Office hours at UCI usually mean a hallway line or a whiteboard sign-up, and the professor ends up answering the same question five times in a row. We wanted a queue that fixes that.

What it does

Zot Hours is a smart office hours queue for students and professors.

  • Students submit a question (25 words max) with a category. If classmates are stuck on the same thing, the app suggests joining their group, so the professor answers once for everyone.

  • The line is ordered by a priority score: how long the question takes, how hard it is, and how many students share it.

  • Students who join before office hours start are ranked by score. Anyone who joins after it starts goes to the back, in arrival order.

  • Professors see the line as groups, answer a whole group at once, and drag a group to pin it at a spot.

  • When a session closes, everyone still waiting moves to the next session with a priority boost.

  • Students have class pages, and each class has its own color.

How we built it

A React frontend talks to a Flask API backed by SQLite. A rule-based matcher decides whether two questions are the same, and we tuned it against a set of labeled question pairs. The frontend also has a demo mode that runs on local data if the backend isn't up.

Challenges we ran into

  • Matching similar questions without merging different ones (for example, "assignment 3" vs "assignment 4").

  • Keeping pinned groups in place as the line changes around them.

  • Defining fair rules for late questions and leftover students.

What we learned

Scheduling rules like these need to be written down and tested, because small ordering decisions change who waits.

What's next

Syllabus upload, real UCI class data from the Anteater AP

Built With

Share this project:

Updates

Submission history