We're four engineers who got tired of guessing which classes to take — so we built the tool we wish existed.
The Team
Quinn Hague
CS · Linguistics · Mathematics
Pursuing natural language processing at the intersection of language, logic, and computation.
Brady Jensenius
Computer Engineering
Passionate about discrete mathematics, quantum systems, and electromagnetics.
Jacob Kensler
Electrical Engineering · Trombone
Dual degree spanning the College of Engineering and the School of Music, Theatre & Dance.
Landon Harder
Computer Science
Builder at heart, focused on turning complex systems into elegant solutions.
The Problem
All four of us spent hours every semester browsing the catalog, cross-referencing requirements, and untangling prerequisites, cross-listed courses, and double-counting rules. A simple question — "what should I take next?" — turned into a research project every single time.
LLMs alone aren't enough
We tried ChatGPT and Gemini to plan our schedules and verify requirements. They failed — not because they're not powerful, but because they lack access to the specific, ever-evolving data around U of M courses and degree programs.
The data problem
U of M's course catalog is massive, constantly changing, and deeply interconnected. Prerequisites, cross-listed courses, and double-counting rules create a combinatorial puzzle no general-purpose LLM can reliably solve from memory.
The logic problem
Even with the right data, ensuring all program requirements are fulfilled while optimizing for double-counting and scheduling constraints requires structured reasoning that vanilla LLMs consistently get wrong.
These models aren't incapable — they just need the right information at the right time. Course scheduling is well within their limits. So we built the scaffolding around them.
Using the latest developments in AI tooling, GradAI gives cutting-edge models exactly what they need: live U of M course data, your degree requirements, and a structured reasoning framework to optimize your path to graduation.