The AI Degree Planning Companion: Part 1
From idea to architecture: laying the foundation for an LLM-powered degree planning agent at CBU.

From Idea to Architecture: Laying the Foundation for My Degree Planning Agent
Why This Project?
Every student has faced the headache of trying to figure out their course plan. You’re told to follow a flowchart or check the catalog, but it’s not always clear what’s possible, what’s required, or even what makes the most sense for your goals.
I remember trying to confirm a few things, and I couldn’t really find the answer anywhere, or I wasn’t sure. I wanted to ask a Student Success Coach, but our schedules didn’t line up many times. I had to wait days just to get clarity on a few little things that should’ve taken maybe 5 minutes.
That experience stuck with me. With some other instances piling up, my perception of our Student Success Coach became someone who is unavailable, but someone who has the final say on whether I am on a good trajectory for my degree or not.
It made me realize that what students really need isn’t just more PDFs or one-time meetings — we need a smart, always-available assistant that understands our school’s structure and can help us make decisions in real time (whenever we need to make a big change for our courses, it always happens after midnight).

Soon after, I had the chance to work with the Office of Student Success at California Baptist University on an AI-driven initiative to support students. As we explored potential projects, degree planning quickly stood out as one of the most pressing and high-impact areas to improve. That led to this project becoming my first major focus: building an LLM-powered assistant to support, not replace, student advisors.
During our meetings, a representative for the student success coaches shared that their inboxes are often filled with simple questions — the kind that could easily be answered with a quick search on the CBU website. These small requests end up taking time away from more important one-on-one advising. It was clear that a system like this could help relieve some of that pressure while empowering students to get answers faster.
Researching the Right Approach (As a Student in a Moving Landscape)
When I first started working on this project as a student developer, the world of LLMs was already changing fast. ChatGPT had exploded in popularity, and universities everywhere — including many UCs — were rushing to adopt AI tools for advising, tutoring, and campus support.
But as exciting as that was, it also felt like things were moving too quickly. Our team noticed that some schools were integrating commercial LLMs into their systems without fully addressing concerns around student privacy, data ownership, and institutional control.
As a student worker with limited resources, diving into this space where everything moved so quickly meant learning everything from scratch and fast: how to run a model like Mistral locally, how to structure agentic behavior with tools like LangChain, how to connect knowledge graphs (Neo4j) and SQL databases, and how to do all of this in a way that respected student data and felt professional enough to deploy in a real academic setting.
How the Research Started
At first, I was just following the momentum, reading through every update I could find about open-source LLMs. I’d scroll through LinkedIn, check GitHub repos, and watch YouTube videos where people shared new ways to run models locally or use lightweight toolchains.
But everything was changing so fast. New libraries, models, and frameworks, new ways to fine-tune were popping up constantly. It became overwhelming to keep track, so I started building a mind map-style documentation system just to organize everything I was learning.
I focused mostly on the open-source side:
- LLMs that could run locally on small devices
- Graph-based reasoning (like Graph RAG)
- Embedding models, vector search
- Agent architectures with LangChain and streaming setups
But it wasn’t just about the software — we also spent time exploring hardware options that could realistically support on-device inference. We looked into things like:
- NVIDIA Jetson boards for compact GPU acceleration
- Framework laptops as modular, upgradable development machines
- DGX systems and NVIDIA Spark AI boxes for more serious edge deployment
The goal was to find a setup that was both realistic and student-accessible — something that didn’t rely on huge cloud infrastructure, but still delivered real performance.
Here’s one of the early versions of that mind map — chaotic, colorful, and packed with experimentation:

From Research to System: Building the Flow
After all the reading, experimenting, and mapping things out, the system slowly started to take shape. What began as a vague idea, “what if an AI could help students plan their classes?” turned into something concrete.
Here’s a visual of the current service flow for the AI Degree Planning Companion:

Current Tech Stack
Here’s what’s running under the hood:
- Frontend: React + Tailwind, with a chat interface inspired by modern AI apps
- Backend: FastAPI + Docker, serving both REST and streaming (SSE) endpoints
- LLM: Local deployment of Mistral (via ollama), using LangChain for agent behavior
- Knowledge Graph: Neo4j, modeling prerequisites and degree flows
- Relational DB: PostgreSQL, for user records and course metadata
- Embeddings + Vector Search: all-MiniLM-L6-v2 + FAISS for semantic search
- Streaming: Real-time token-level streaming from backend to frontend with SSE
It’s modular and built to be improved — each component can be upgraded as the ecosystem evolves.
What’s Coming Next
This is just the foundation. Coming up:
- Memory integration so the agent can track long-term student goals
- Better tool reasoning to decide when to query graph vs. SQL vs. vector store
- Expanding course coverage to include more departments and elective options
- UI polish + markdown rendering to make the chat feel smooth and informative
- Possibly releasing a limited public demo for feedback and iteration
Thanks for reading — if you’re working on anything similar or exploring LLMs for education, I’d love to connect.