projects

EduAI

Built with TypeScript · React Router · PostgreSQL · pgvector · Ollama

EduAI lets UBC learning applications answer questions using course materials. Its TypeScript and React Router API handles authentication, model access, and course-specific retrieval. Applications authenticate with API keys, while students and instructors can use its own chat interface.

Answers with course context

EduAI extracts text from PDF, Word DOCX, and PowerPoint PPTX files, splits it into overlapping chunks, and stores the text and embeddings in PostgreSQL. At query time, pgvector ranks passages by cosine similarity, with a course-ID filter to keep retrieval within the selected class.

A choice of models

OpenAI, Gemini, and locally hosted Ollama models share the same interface, so applications can switch models without rebuilding their chat integration. Responses stream as they are generated.

Models can request course material through tools. EduAI also provides a retrieval path for models without tool support.