Back to all blogs
Project Blog

chatUW: A Chatbot Trained on Waterloo Student Wisdom

How I built a RAG chatbot for the University of Waterloo

PineconeOpenAINext.js
chatUW: A Chatbot Trained on Waterloo Student Wisdom

If you've spent more than five minutes in any University of Waterloo Discord server, Reddit thread, or group chat, you know one thing's for sure: Waterloo students love writing guides.

There are guides for everything - co-op, surviving first year, U.S. immigration, prof rankings, housing, resumes, entrepreneurship, food, even memes. The sheer volume is honestly impressive.

But here's the problem: most of them get lost in the noise.

They're buried in outdated Google Docs, scattered across subreddits, or sitting idle in random Notion pages. New students never find them. Older students forget about them. And most of the content, while incredibly useful, ends up underutilized.

That got me thinking: What if you could access all that wisdom instantly? What if there was a chatbot trained on all those student-made guides - a single place you could go to ask anything about student life at Waterloo?

Introducing chatUW

chatUW is a RAG-based (Retrieval-Augmented Generation) chatbot trained on publicly available Waterloo student guides. It combines everything from co-op and U.S. visa guides to restaurant recommendations and housing tips into one seamless conversational interface.

It's basically the student version of ChatGPT - but trained on Waterloo-specific life advice, experience, and resources.

You can ask it questions like: • “What's the process for getting a co-op in the U.S.?” • “Where are some cheap places to eat around campus?” • “What are some tips for first-year CS students?” • “How do I deal with terrible landlords in Waterloo?” • “What's the difference between Stream 4 and Stream 8?”

And it'll give you helpful, informed answers based on real guides made by real students.

Why I Built It

There was no shortage of content. What was missing was accessibility. The problem wasn't that students weren't sharing knowledge - it was that their knowledge wasn't discoverable or usable at scale.

We have an informal search engine already - asking upper-years in Discord servers, or sifting through Reddit threads. But that process is inefficient. You might ask a question and get 10 conflicting answers. Or worse, no response at all.

chatUW is meant to be the always-on version of that. It's the “student who's been here for five years and has seen it all” - just in chatbot form.

What's Under the Hood

The stack is pretty standard for a RAG LLM app: • Frontend: Built with Next.js • Security: Google reCAPTCHA to prevent abuse • Vector Store: Pinecone for fast, scalable embedding search • LLM: OpenAI GPT API • Retrieval: LangChain-powered RAG pipeline to fetch relevant student guide chunks based on your query

The knowledge base was built by scraping and parsing publicly available guides, including survival guides, co-op advice docs, immigration FAQs, and more. Everything included is open-source or explicitly shared by students - nothing proprietary or copyrighted by the university itself.

Why It Matters

Waterloo can be overwhelming. The systems are complex, the processes are confusing, and no two students take the same path. But there's a ton of collective wisdom floating around - it just needed a place to live.

chatUW gives students an accessible, conversational way to tap into that collective knowledge. Whether you're new to campus or about to graduate, it's designed to help you navigate student life smarter and faster.

What's Next?

I'm planning to: • Add document sources so users can trace where answers came from • Allow uploading of your own guide to contribute to the corpus • Integrate better UI/UX features to make chatUW feel more like a real student peer than just another bot

This started as a small side project, but it's quickly becoming something I wish I had when I started at Waterloo.

If you want to try chatUW or contribute to the guide corpus, reach out - I'd love to chat.