AskSFU 🎓 💡 Inspiration Every industry today leverages AI for automation and efficiency—from healthcare to finance—yet universities still require students to navigate dozens of scattered websites, wait hours for advisor appointments, and dig through endless PDFs just to answer basic questions. Why should finding your major requirements or discovering campus events be a scavenger hunt? AskSFU was born from a simple realization: students deserve better. We envisioned a single, intelligent platform where every SFU-related question—from course prerequisites to club information—could be answered instantly, 24/7, without the frustration of endless web browsing or long wait times.
🚀 What It Does AskSFU is your personal SFU assistant—a specialized AI chatbot built exclusively for Simon Fraser University that centralizes everything a student needs in one conversational interface. Key Features:
📚 Academic Guidance: Get instant answers about courses, prerequisites, major/minor requirements, and program details 👨🏫 Faculty Information: Learn about professors, their research areas, and office hours 🎭 Campus Life: Discover 118+ student clubs, organizations, and how to get involved 💰 Financial Aid: Find scholarship opportunities, bursaries, and funding information 📰 Real-time Updates: Check latest SFU news and campus announcements 📅 Event Calendar: Browse upcoming events, workshops, and activities 🗺️ Interactive Campus Map: Navigate buildings, facilities, and locations 🎤 Voice Input: Ask questions hands-free using speech-to-text technology 💬 Community Chat Rooms: Connect with other students in real-time
Unlike generic AI chatbots, AskSFU is trained specifically on SFU data—delivering accurate, relevant, and contextual answers that understand the university's unique programs, policies, and culture.
🛠️ How We Built It We engineered AskSFU as a multi-layered intelligent system combining cutting-edge AI with comprehensive data integration: Core Technology Stack:
Google Gemini Flash 2.5: Powers conversational AI with context-aware responses LangChain: Processes and vectorizes SFU web content for semantic search ElevenLabs Speech-to-Text API: Enables hands-free voice queries Python Web Scraper: Systematically collected data from official SFU websites Vector Database: Stores embedded SFU content for fast, accurate retrieval Node.js + Express: Backend server handling API requests and data routing REST APIs: Integrated SFU course catalog, news feeds, and event calendars
Development Process:
Data Collection: Built a custom web scraper to gather authentic SFU information from official sources Vector Database Creation: Used LangChain to process URLs, chunk content, and create searchable embeddings Intelligent Query Routing: Developed classification logic to distinguish between academic, club, and general queries Hybrid Response System: Implemented smart caching for common questions while maintaining vector search for complex queries Multi-Modal Interface: Integrated voice input, interactive maps, and real-time data feeds Responsive Design: Built a mobile-friendly UI that works seamlessly across all devices
🚧 Challenges We Ran Into
- Vector Database Performance Bottlenecks Our LangChain vector search initially timed out after 10+ seconds, causing queries to fail and fall back to generic responses instead of utilizing our comprehensive SFU dataset. This defeated the entire purpose of having scraped, verified data.
- Query Classification Accuracy Academic queries like "Computer Engineering requirements" were being misclassified as club-related questions, returning information about engineering clubs rather than degree requirements—a critical failure for student users.
- Real-time vs Cached Data Balance We struggled to balance instant response times with accessing our full vector database. Users expect ChatGPT-level speed, but comprehensive searches took too long.
- UI/UX Consistency Issues Multiple frontend challenges emerged: header elements not spanning full width, unwanted transparent frames around chat bubbles, non-functional dark/light theme toggles, and responsive design breakpoints failing on mobile devices.
- API Integration Complexity Coordinating multiple APIs (Gemini, ElevenLabs, SFU REST endpoints) while handling timeouts, rate limits, and error states required sophisticated error handling and fallback strategies.
🏆 Accomplishments That We're Proud Of
- Seamless Multi-Source Data Integration We successfully unified our custom web scraper, LangChain vector database, Gemini AI, and real-time APIs into a single cohesive system that delivers accurate, comprehensive SFU-specific answers.
- Intelligent Hybrid Response System Built an optimized architecture that serves common queries from cache in 0.02 seconds while maintaining full vector database access for complex academic questions—achieving both speed and depth.
- Feature-Complete Student Platform Created more than just a chatbot—a complete ecosystem with voice input, interactive campus maps, live news/events, community chat rooms, and mobile responsiveness.
- High Accuracy with Real University Data AskSFU now provides detailed, verified information about SFU's 118+ clubs, Computing Science requirements, course credit systems, and academic programs using actual scraped institutional data—not generic web search results.
- Production-Ready Performance Solved critical performance bottlenecks to achieve response times competitive with commercial AI chatbots while maintaining superior accuracy for SFU-specific queries.
📚 What We Learned
- Vector Database Optimization is Mission-Critical Timeout strategies, query classification, intelligent fallbacks, and caching aren't optional—they're essential for production LangChain applications. Raw vector search alone doesn't scale to real-world user expectations.
- User Experience Demands Hybrid Architectures The best AI systems combine multiple strategies: cached responses for common patterns, vector search for nuanced queries, and direct API calls for real-time data. One-size-fits-all approaches fail.
- Data Quality Trumps Model Sophistication We learned that Gemini 2.5's power means nothing without high-quality, domain-specific training data. Our web scraper and data processing pipeline proved more valuable than any model upgrade.
- Classification Logic is the Unsung Hero Smart query routing—distinguishing between clubs, academics, financial aid, and general inquiries—dramatically improved response relevance. The AI needs to know what the user is asking before it can answer how.
- Full-Stack Integration is Complex Coordinating theme toggles, responsive design, API timeouts, error handling, and state management across Node.js, Express, LangChain, and multiple frontend components taught us the intricacies of modern web application architecture.
What's Next for AskSFU The immediate priority for AskSFU is expanding our knowledge base to serve incoming students with comprehensive onboarding guides, interactive program tours, and personalized first-week resources. We plan to pursue partnerships with SFSS, GSS, and departmental student societies to integrate club discovery features, event promotions, and direct membership channels—making AskSFU the official student information hub.Long-term goals include expanding coverage to co-op resources, housing guides, mental health support, and international student services, while exploring native mobile apps with offline access and push notifications. Our ultimate vision is seamless integration with university systems like Canvas LMS, goSFU portal, and the library catalog—transforming AskSFU from a chatbot into an indispensable AI companion that supports every SFU student from orientation through graduation, available 24/7 across all three campuses.
Built With
- css3
- eleven-labs-speech-to-text-api
- es6+)
- gemini-flash-2.5
- html5
- javascript
- langchain
- node.js
- python
- sfu-rest-api

Log in or sign up for Devpost to join the conversation.