πŸŽ“ 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-chat for 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

Built With

  • academics.iu.edu
  • and
  • beautifulsoup-(for-web-scraping)
  • combined
  • course
  • custom
  • data
  • faiss-(facebook-ai-similarity-search)
  • from
  • github-(for-version-control)
  • langchain
  • mock
  • openai-gpt-3.5-turbo-(via-openai-api)
  • pandas
  • python
  • scraped
  • streamlit
  • streamlit-chat
  • streamlit-community-cloud-(for-hosting)
  • time/history
  • with
Share this project:

Updates