π IU Course Chat Assistant
π About the Project
At Indiana University, choosing the right courses can feel overwhelming β students have to juggle prerequisites, degree requirements, work schedules, and even visa restrictions. We wanted to simplify this process using AI.
The IU Course Chat Assistant is an AI-powered chatbot that helps students instantly find answers about course eligibility, prerequisites, time conflicts, and more β all in a conversational format.
π‘ Inspiration
We were inspired by the challenges students face every semester during course registration. Many rely on scattered info, guesswork, or last-minute advising. We thought: What if students could get instant, reliable answers from one simple tool?
π οΈ How We Built It
- Frontend: Streamlit with
streamlit-chatfor an intuitive chat UI - Backend: Python + OpenAIβs GPT-3.5 Turbo for natural language understanding
- Search: LangChain + FAISS for semantic retrieval of course data
- Data: Real course info scraped from academics.iu.edu + mock data on history, popularity, and time slots
- Hosting: Streamlit Community Cloud, so itβs mobile-ready and publicly accessible
π Key Features
- Answers queries about prerequisites, department offerings, and eligibility
- Recommends fallback courses based on availability and alignment
- Filters out irrelevant responses using prompt boundaries
- Personalized logic for F-1 visa rules, grad students, and time conflicts
- Works seamlessly on desktop and mobile
π§ What We Learned
- How to combine GPT with structured data for smart, grounded responses
- Effective use of prompt engineering to enforce chatbot constraints
- Integration of semantic search using embeddings with LangChain + FAISS
- Building UI/UX that feels familiar yet powerful for student users
β οΈ Challenges
- Getting GPT to stay within scope β we had to design guardrails to avoid hallucinations
- Merging real and mock data into a consistent format
- Balancing accuracy vs. creativity β making the bot helpful without sounding robotic
- Making the system feel personalized while staying general-purpose
You can try it live here:
π https://iu-course-selector.streamlit.app
Log in or sign up for Devpost to join the conversation.