Explore Your Future: Surface Academic Pathways via Conversational AI

Project phases

View All Projects

The prototype combines a conversational interface with data from multiple university sources and public career information, prompting students to provide their interests, preferences, and goals before receiving their individual specialization suggestions. While designed for academic specializations, the approach extends to professional development and career exploration.

“[The Specialization Explorer] will provide first-year BSc students with more comprehensive data and critical information from multiple perspectives to support their transition into and through the specialization process.”

-Deborah Watt — Director, Strategic Initiatives, Faculty of Science

Approach

Although information about BSc specializations is available through official sources, it is distributed across multiple platforms and not structured for comparison, making it difficult for students to locate, compare, and synthesize key details. As a result, students may rely on familiar or limited options rather than fully exploring available pathways. 

To address this challenge, the UBC CIC developed a serverless, AI-powered web application on Amazon Web Services (AWS) to help UBC Faculty of Science students explore specializations based on their academic and career interests through a centralized, guided experience.

Built on Amazon Bedrock, the prototype uses Amazon Bedrock Knowledge Bases to power a Retrieval-Augmented Generation (RAG) pipeline that generates responses based on real program data, guiding students through a structured conversation that identifies their interests, goals, and preferences before suggesting tailored specializations.

Further, the UBC CIC team developed administrator tools for staff managing the platform. Administrators can upload files and website sources to update the knowledge base, review platform-wide analytics, and browse complete chat histories to better understand student engagement patterns and usage trends. A system settings panel allows administrators to change Large Language Models’ (LLM) functions directly, adjusting prompts, model parameters, and message versioning without requiring a re-deployment.

For more details, please visit the GitHub repository.

Screenshots of UI

This section shows the user interfaces for students and system administrators.

Student View

When landing on the Specialization Explorer homepage, users are greeted with a welcome message and prompted to start a new conversation. An informational note also reminds users that they can interact with verified university sources and encourages them to confirm important details before making final decisions.
Each new chat begins as an anonymous session, with the LLM guiding users through a series of questions to learn about their academic interests and career goals. Using these insights, the Specialization Explorer transitions to making suggestions. Via the left sidebar, users can start a new chat, switch between sessions, or delete sessions. Additionally, users can download a transcript of their session at any point.
After a specialization is suggested, users can ask follow-up questions to explore specific courses, career paths, admissions requirements, or how different programs compare.
If the LLM’s response is not fully supported by the knowledge base, a warning banner appears below the message, advising users to verify the information with the official UBC Academic Calendar (i.e. program overview and course catalogues).
LLM responses may include source references. Users can expand a tab below the chat to view the original documents or web pages the response is based on.
Admin View
Through the admin dashboard, administrators can view platform-wide metrics, manage knowledge base data sources, system settings, and review user interactions across the platform.
Administrators can manage knowledge base data sources, including website URLs with inclusion and exclusion rules, and upload files. Once added, sources can be synced to update the system, with status updates provided throughout the process.
The analytics page provides an overview of platform usage over time, including total users, chat sessions, and questions asked to the chatbot. Administrators can adjust the date range to explore trends in engagement, such as spikes in usage during peak periods.
The system settings page controls key aspects of how the platform behaves, including user message limits, LLM response style, and how recommendations are generated. For instance, it manages guardrails, built-in rules that keep the LLM focused on relevant topics, prevent misuse, and ensure responses remain accurate and appropriate.

Supporting Artifacts

Click below to see technical details of the solution, including the detailed architecture. Or click here to go directly to the project GitHub repository.

Architecture Diagram
Technical Details

The prototype leverages a serverless architecture to create a scalable and reliable environment that supports students in exploring specializations within UBC’s Faculty of Science. The frontend, hosted on AWS Amplify, communicates with backend endpoints through Amazon API Gateway, protected by AWS Web Application Firewall (WAF) and AWS Shield. Amazon API Gateway handles both REST and WebSocket connections. Amazon Cognito manages authentication for administrators, while the student-facing interface remains publicly accessible to preserve anonymity.

The core of the interactive experience is powered by Amazon Bedrock, using LLMs to guide students through a conversational experience. Amazon Bedrock Knowledge Bases retrieves relevant program content from the vector index. The application passes retrieved content to the LLM to generate grounded responses. Conversation history and LLM settings are securely stored in Amazon RDS (PostgreSQL), with responses streamed to the frontend in real time via a WebSocket connection through API Gateway.

Administrators configure the knowledge base by uploading CSV and Markdown files to Amazon S3 using pre-signed URLs, or by providing website URLs for crawling. Amazon Bedrock Knowledge Bases embeds this content using a text embedding model and stores the vectors in Amazon OpenSearch Serverless. At query time, the knowledge base performs a semantic search against the vector index to retrieve relevant documents before generating a response. Administrators manage all ingestion through the admin dashboard, maintaining full control over the information the AI uses. AWS WAF rules on the Amazon CloudFront distribution filter common web exploits (SQL injection, cross-site scripting) and enforce rate limiting. AWS Shield Standard provides DDoS protection at the network layer.

Acknowledgements

This project was created in collaboration with the UBC Faculty of Science.

Student Team: Development by Saman Atiq, Tanay Mahendru, Hrishi Logani, and Aman Prakash. Project assistance by Carrie Schulz.

Image by the University of British Columbia on Flickr Commons.

About the University of British Columbia Cloud Innovation Centre (UBC CIC)

The UBC CIC is a public-private collaboration between UBC and Amazon Web Services (AWS). A CIC identifies digital transformation challenges, the problems or opportunities that matter to the community, and provides subject matter expertise and CIC leadership.

Using Amazon’s innovation methodology, dedicated UBC and AWS CIC staff work with students, staff and faculty, as well as community, government or not-for-profit organizations to define challenges, to engage with subject matter experts, to identify a solution, and to build a Proof of Concept (PoC). Through co-op and work-integrated learning, students also have an opportunity to learn new skills which they will later be able to apply in the workforce.

CIC logo