Senior Capstone — St. Edward's University — 2024

Turned course selection from a 30-minute advisor wait into a 5-minute conversation.

Students were gaming the registration system because the advising process was broken. I built a GPT-powered chatbot trained on real St. Edward's course data — a conversational alternative that actually worked.

RoleUX Research, Frontend, API, GPT Training
TeamCollaborative (partners: Python/Flask)
StackOpenAI GPT, Python, Flask, Figma
Scroll
01 Overview

The advising bottleneck was the problem

Course registration at St. Edward's was a mess. Students didn't always know what to take, when to take it, or how it fit their degree plan. Academic advisors were overloaded, the information existed but it was buried across catalogs and outdated PDFs. Students were making uninformed decisions or delaying registration entirely.

Topper was designed to bridge that gap — not replace advisors, but handle the questions that didn't need a human in the first place.

The Gap
Students wait days for advisor meetings and still leave confused about electives
The bottleneck meant students made uninformed decisions about their schedules, or skipped advising entirely and hoped for the best.
The Fix
AI chatbot trained on real course data gives answers in under 5 minutes
Topper provides instant, personalized course recommendations based on actual university data. No appointment needed.
01.5 The Interface

What it looked like

Conversational UI designed in Figma, then built in Python/Flask. The goal: feel like asking a helpful upperclassman, not clicking through a FAQ.

Topper AI chatbot interface — conversational advising UI

Topper's chat UI — greeting flow, conversational hand-off, single-input focus.

02 My Role

What I actually built

This was a collaborative senior capstone. My partners handled the Python/Flask backend. Everything else — the research, the interface, the AI training, the mid-project infrastructure pivot — that was me.

🔍
UX Research
Mapped how students actually navigate course selection. Identified where the pain points were — not where the university thought they were.
User Research
🎨
Frontend Design
Figma prototype for the full chat interface and user flow. Conversational UI for both mobile and desktop, focused on clarity and speed.
Figma
🔗
API Configuration
Integrated the OpenAI API and set up the data pipeline connecting course catalogs to the model.
OpenAI API
🤖
Custom GPT Training
Built 500+ unique training queries to make the model give accurate, university-specific answers. Generic prompts don't cut it for specialized knowledge.
500+ Queries
🛠
Infrastructure Pivot
When our original Google Cloud plan fell through, I led the pivot to OpenAI's updated API platform mid-project. Design thinking, not just technical fixes.
Problem Solving
03 Process

How we built it

Step 1
User Research
Talked to students. Found out they needed fast, specific answers about courses, prerequisites, and degree requirements — not a better FAQ page.
Step 2
Scoped the AI
Determined what the chatbot should and shouldn't know. Setting clear boundaries was the difference between useful and hallucinating.
Step 3
Built training dataset
Created 500+ queries covering courses, prerequisites, degree requirements, and scheduling. This was the real work — training data is everything.
Step 4
Designed the interface
Conversational UI designed in Figma. The goal: a student asks a question and gets a useful answer without thinking about the interface at all.
Step 5
User Testing (2 rounds)
Tested whether students could find a relevant course in under 5 minutes. Result: yes — across both rounds. The chatbot was faster than the catalog.
04 Results

What we proved

Topper was built and tested but not publicly released — it was a senior capstone, not a production launch. But the testing validated the core idea: students could get course answers faster through conversation than through the existing system.

<5 min
To find relevant courses (both rounds)
500+
Custom training queries
2
Rounds of user testing
1
Major infra pivot navigated
05 Reflection

What I took away

"Custom training data is the difference between a chatbot and a useful one. Generic prompts don't cut it for specialized knowledge."
— Andre Espinoza
📚
Training data is everything
The 500+ custom queries made the difference between a generic chatbot and one that actually knew the university's course catalog.
🔄
Pivots are design problems
Mid-project infrastructure pivots require design thinking. You're re-architecting the solution, not just swapping a tool.
🤝
Teaching is building
Teaching non-technical teammates how to use AI tools was as valuable as the build itself. The best tool fails if the team can't use it.

See more work

Topper AI was a senior capstone — explore the demo or head back to the portfolio.

Watch Demo ↗ ← Back to Portfolio