UET GPT
University information lives scattered across dozens of pages, PDFs, and notice boards — students waste hours hunting for answers about admissions, fees, and courses.
UET GPT is a ChatGPT-style assistant built specifically for University of Engineering and Technology students. Ask it a question and it answers using up-to-date university information collected by its own crawler, instead of making things up. Live at uet-gpt.vercel.app.
The full production stack: a Next.js frontend, a Convex backend using its Agent, RAG, and Workflow components, sign-in with Clerk, rate limiting with Upstash Redis, and error monitoring with Sentry. A separate Python crawler (Crawl4AI) collects university content and feeds it into the knowledge base. Answers are routed across three LLM providers — Groq, Google Gemini, and Cerebras — so the app stays fast and available even when one provider is down or rate-limited.
My most complete system to date: auth, rate limiting, observability, automated testing (Playwright + Vitest), and a data-ingestion pipeline.
The hardest lesson: retrieval quality beats model quality. Most wrong answers trace back to bad chunking or stale crawls, not the LLM — so the crawler and index deserve as much engineering as the chat loop.