Inspiration

Finding a competent academic advisor when you need one is rare, and getting time with them is even harder. Slots fill up fast, meetings are short, and students — especially first-generation college students — often leave with more questions than answers. We built Ivy because every student deserves a clear path to graduation, not just the ones who already know how to navigate the system.

What it does

Ivy is an AI academic advisor that gives any student instant, personalized guidance. You input your major, completed courses, grades, and goals — Ivy maps your degree progress, recommends your next semester schedule, and explains why in plain language. It pulls real professor ratings from RateMyProfessor to make recommendations that actually reflect your options. You can also ask follow-up questions in plain English — "what if I fail this class?" or "can I still graduate on time?" — and Ivy rebuilds your plan on the spot.

How we built it

  • Frontend: React + Vite with plain inline-styled JSX — no CSS framework, just clean component-level styling
  • Backend: Python + FastAPI with Pydantic models for request validation
  • AI: Grok API (xAI) for generating personalized degree plans and natural language responses
  • Data: RateMyProfessor scraping via requests + BeautifulSoup for live professor ratings
  • Infrastructure: CORS-enabled local API, no database — student profile and recommendations passed as JSON directly between frontend and backend

Challenges we ran into

The biggest challenges were around data reliability, constraint handling, and demo safety.

  • No live AI access — our Grok/xAI key was invalid, so we couldn't rely on live model calls. We had to build strong fallback logic so the product still worked end-to-end during the demo without misleading anyone about what was AI-generated versus fallback output.
  • Prerequisite correctness — early on the scheduler could suggest invalid course combinations. We had to add explicit prerequisite enforcement in the backend so every recommended schedule was actually takeable.
  • Credit load realism — the app initially ignored max credits and load targets, so schedules didn't match what students actually asked for. That required backend parsing and hard caps.
  • Degree audit accuracy — a simple checklist wasn't enough for Iowa State CS. We had to move closer to the actual degree flowchart, including electives, science, math/stat, and LAS requirement buckets.
  • Professor data freshness — RateMyProfessor is useful context but it's not a live registrar feed. The challenge was surfacing professor ratings without implying guaranteed current section assignments.
  • Academic plan completeness — the roadmap originally drifted into placeholder electives instead of actually finishing the degree. We had to make the planner target remaining requirements and spread them realistically across 8 semesters.
  • UI stability — we hit white screens when opening the academic plan without a generated profile, unstable follow-up input behavior, awkward course entry UX, and export formatting issues depending on paste target.

We learned quickly that the hard part isn't just generating class suggestions — it's making those suggestions trustworthy, constrained, understandable, and resilient when live data or AI services are imperfect.

Accomplishments that we're proud of

What we learned

We're proud that Ivy became more than a chatbot. It's a structured academic planning tool that checks prerequisites, respects credit limits, aligns with real degree requirements, and explains every recommendation in plain language — which is exactly what the accessibility theme called for.

Specifically:

  • It's student-centered, not generic — the recommendations are built around your actual major, grades, goals, and remaining requirements, not a one-size-fits-all prompt.
  • Rule-based + AI reasoning — combining hard constraint enforcement (prereqs, credit caps, degree audit alignment) with AI-style explanation makes the output more trustworthy than a free-form chatbot.
  • Professor context built in — RateMyProfessor data surfaces directly in the course cards so students can make informed decisions without leaving the app.
  • Two planning modes — a next-semester recommender and a full multi-semester academic roadmap, which makes the project feel complete rather than a one-trick demo.
  • Resilient by design — we built fallback logic and demo-safe behavior so the app gives students a meaningful planning experience even when live AI services are unavailable.
  • Polished UI — sidebar profile, degree progress bar, course cards, follow-up chat, export tools, reset flow, and demo mode all made it into the final build.

The hard part wasn't generating suggestions. It was making those suggestions trustworthy, constrained, and understandable — and we built a system that actually does that.

What's next for Ivy - Advisor AI

What's next for Ivy is making it more real-time, more accurate, and more scalable. We want to connect it to live course catalogs and section data, strengthen the degree audit, support more schools and majors, and eventually create a tool that works alongside human advisors rather than replacing them.

  • Live university data — replace hardcoded course mappings with real-time catalog and section feeds so Ivy always reflects what's actually available this semester.
  • Registrar-grade degree audit — move from a checklist toward something that works like an official progress tracker, accurate enough that students can trust it the same way they trust their university portal.
  • Real scheduling constraints — layer in meeting times, time conflicts, and section availability so recommended schedules are actually buildable, not just theoretically valid.
  • Multi-school support — make the requirement engine configurable so any student at any university can use Ivy, not just ISU CS majors.
  • Student accounts — add persistent profiles so students can save plans, compare what-if scenarios, and come back without starting over.
  • Advisor-facing mode — give human advisors a way to review, edit, and approve Ivy's recommendations so the tool works alongside them rather than around them.
  • Deeper accessibility — simpler explanation modes, reduced cognitive-load views, and personalized support styles for students who need more than a standard interface.
  • Actionable planning tools — registration reminders, calendar integration, and export/share tools so the plan doesn't just live in the app, it follows the student.

In the long term, Ivy could become an accessibility-first academic planning layer that sits between students and complex university systems — helping them understand their options, stay on track, and make better decisions with less stress.

Built With

Share this project:

Updates