Inspiration

Navigating Canvas and summarizing academic materials can be overwhelming for students. I wanted to create a tool that could streamline the process of studying by intelligently surfacing the most important information from class files — directly and automatically.

What it does

Course Compass connects to your Canvas account, fetches your enrolled courses, and scans course materials like PDFs, DOCX, and PPTX files. It uses AI to summarize these files into concise, readable study guides that appear within the web app — no downloads, no switching tabs. Students can browse summaries instantly by selecting files from their courses.

How we built it

Course Compass is built with Ruby on Rails for the backend and ERB templates for server-rendered HTML.

  • It authenticates users and securely fetches course and file data using the Canvas API with access tokens.
  • File parsing is handled by pdf-reader, docx, and zip/Nokogiri for PDFs, Word docs, and PowerPoint files respectively.
  • Summarization is done using Google Gemini (Generative Language API).
  • We use Redcarpet to render Markdown summaries into clean HTML.
  • Styling is handled with custom CSS for cards, alerts, and responsive layouts.
  • No JavaScript was required — everything works server-side and renders dynamically with Turbo Frames.

Challenges we ran into

  • Parsing different file formats cleanly (especially corrupted or oddly formatted PPTX files)
  • Following multi-step redirects when downloading files from Canvas securely
  • Avoiding content bleed or overflow in HTML when rendering large summaries
  • Managing rate limits and handling inconsistent responses from external APIs

Accomplishments that we're proud of

  • Building a fully functional AI-integrated study platform using only server-rendered Ruby on Rails — no JS needed
  • Automatically parsing and summarizing real-world course content in a clean, readable format
  • Delivering a seamless, fast user experience that feels modern and helpful

What I learned

  • How to parse and extract text from a variety of binary file formats
  • How to integrate modern AI models (Gemini) with legacy web tech in a clean way
  • The power of Turbo Frames for progressively enhancing user interfaces without JavaScript
  • How students interact with and benefit from summarized content at scale

What's next for Course Compass

  • Auto-generating flashcards from summaries
  • Support for more file types like spreadsheets and code files
  • Admin tools for teachers to review what students are studying most
  • Use OAuth 2.0 instead of requiring users to manually input Canvas tokens ## How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Course Companion

Built With

Share this project:

Updates