Inspiration

Planning courses at SFU meant keeping the calendar open in one tab and your transcript in another, trying to work out what was left. Advising appointments are hard to get, and much of the meeting goes to just figuring out where you stand. We wanted a tool that shows you that right away.

What it does

Upload your SFU transcript, or enter your courses by hand, and myAdvisor shows what you've finished, what you're taking, and what you still need for your degree. It builds a plan for your remaining terms, including co-op, flags prerequisite problems, and lets you ask the advisor questions like "Do I still need BUS 393?" Answers cite the SFU calendar.

How we built it

We built it with Next.js. Course and program data comes from SFU's public calendar. Our own rules engine calculates units, prerequisites and requirements, so the math is checkable and not left to a model. Gemini reads the transcript and explains results in plain English. [Snowflake handles calendar retrieval.] [ElevenLabs gives the advisor a voice.]

Challenges we ran into

SFU's rules are written as sentences, like "30 of these 45 upper division units must be CMPT courses", and turning those into something code can check took most of our time. We spent a while deciding whether to cover just Business or every program. Our first question list had over 50 questions, and getting it down to 3 took a lot of back and forth.

Accomplishments that we're proud of

It feels like talking to an advisor who already read your transcript. The answers are clear and based on the real calendar. We'd honestly use it ourselves next enrolment.

What we learned

A few well-chosen questions work better than a long form. We learned to keep the degree math in our own code and use AI for the explaining. We also learned how much work it takes to turn public university data into something a student can use.

What's next for myAdvisor

We want to cover every SFU undergrad program, add live seat and timetable info, and let students export a summary to bring to a real advisor.

Built With

Share this project:

Updates

Submission history