Open Education AI Study Companion
Recognizing an opportunity to enhance open educational resources in British Columbia’s post-secondary education system, BCcampus partnered with the UBC Cloud Innovation Centre (CIC) to develop an AI-powered study companion. The platform enables instructors to generate supplementary teaching materials based on open educational resources (OER) which students can interact with in an engaging chat interface. By advancing the use of open educational resources, BCcampus aims to help remove barriers to learning and promote innovative pedagogical approaches.
The AI-powered study companion prototype enables instructors to generate practice materials such as quizzes and flashcards to support instruction with OER and guides students through conversational prompts to enhance their learning. The use of open web content and the release of the solution as open source reflect BCcampus’s commitment to fostering innovation and inclusivity in teaching and learning. This platform is reusable and adaptable for other educational contexts—such as K-12 classrooms, vocational training, corporate learning environments, and global OER initiatives—creating a foundation for scalable, AI-enhanced learning experiences.
Approach
The web application is built on AWS Cloud Infrastructure and uses generative AI to support intelligent interaction with OER textbooks. By leveraging Retrieval Augmented Generation (RAG), multimodal embeddings, and conversational AI, the platform provides students with personalized learning assistance. This application’s User Interface (UI) is informed by Universal Design Learning (UDL) Principles with the goal of supporting learner agency by promoting purposeful and reflective engagement, resourceful exploration, and action-oriented learning.
Within the student interface, the AI-powered Study Companion provides real-time responses with citations included for guidance. Students can adjust audio settings that allow narration or autoplay with options to alter voice rate, pitch, and volume. Instructors can use the platform to create material types in 3 formats: Multiple Choice Questions (MCQs), Short Answers, and Flashcards. Short Answers support AI-assisted grading and feedback, while MCQs offer feedback based on the correctness of student answers. Instructors can use the Material Editor to review and revise practice materials. Edited materials can be exported as H5P packages, which initiates a server-side packaging workflow and generates a downloadable zip file compatible with LMS platforms such as Canvas or Moodle. Administrators have oversight of shared content and platform settings, ensuring consistent alignment with open educational goals.
Click here to go directly to the project GitHub repository.
Screenshots of UI
This section outlines the core stages of the user journey, as represented through screenshots of the user interface.
STUDENT VIEW
INSTRUCTOR VIEW
ADMIN VIEW
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
A detailed explanation of the diagram can be found on the project GitHub repository.
Technical Details
The platform runs on a secure, scalable AWS stack: The React frontend (Vite) deploys via Amplify and communicates with backend services through Amazon API Gateway using REST and WebSocket protocols, while AWS Cognito provides admin authentication, and a lightweight public JWT flow issues short-lived tokens for anonymous users. Backend functionality is implemented as Lambda functions (REST handlers, WebSocket connect/default, and Dockerized text-generation workers), with API Gateway routing and custom authorizers ensuring proper access control.
Amazon RDS (Postgres) stores chat sessions, interactions, and analytics behind an RDS Proxy. The database uses pgvector for embedding storage and efficient vector similarity queries. Retrieval-Augmented Generation (RAG) pipelines query the Postgres vectorstore to collect textbook context. The system then invokes Amazon Bedrock LLMs for generation and citation-aware responses. The WebSocket layer streams live LLM responses to clients. Dockerized Lambdas handle long-running and asynchronous text-generation jobs using queued invocation patterns.
Administrators upload textbook CSVs via pre-signed S3 URLs. This triggers ETL and ingestion jobs using AWS Glue and SQS that crawl uploaded content, chunk text into manageable segments and generate embeddings. The system persists embeddings and metadata back to RDS, keeping the retrieval index current. The platform implements security through Secrets Manager and SSM Parameter Store for credentials and model configuration, and IAM roles follow least-privilege principles. CloudWatch provides observability through logs and alarms that surface errors and performance metrics.
Acknowledgements
This project was funded by the William and Flora Hewlett Foundation and created in collaboration with BCcampus.
Image by Zen Chung.
Student Team: Development by Harsh Amin, Aniket Nemade and Ayush Srihari. Project assistance by Anya Ameen.
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.














