Better Halo

Browser extension

A Chrome Web Store extension that makes GCU’s Halo LMS easier to use, with themes, assignment tracking, and grade tools.

1,100+ students using Better Halo

Overview

Students can personalize their LMS, stay on top of assignments, project their grades, and share themes through a community gallery.

Built with
React · TypeScript · GraphQL · Manifest V3 · React Router · Supabase · Clerk

Problem

Halo is a required part of the student workflow, but its default experience leaves little room for personalization and can make everyday tasks feel harder to scan.

Solution

I built a browser extension around the existing LMS experience. It adds a CSS-variable theming system with custom themes and scheduled dark mode, assignment tracking on course cards, a what-if grade calculator, a combined calendar across classes, and class schedule export to calendar apps. A companion website hosts a community theme gallery.

Architecture

  • Halo LMSExisting student workflow
  • Halo GraphQL APIReverse-engineered
  • Better Halo extensionReact + TypeScript, Manifest V3
  • ThemesCustom + scheduled dark mode
  • Coursework toolsAssignments, grades, calendar
  • Theme galleryReact Router + Supabase
Better Halo extends the existing LMS rather than replacing it.

Decisions

Improve the workflow in place
The product is designed as an extension of the LMS students already rely on, keeping adoption low-friction instead of asking them to move to a separate tool.
Build on Halo's own data
I reverse-engineered and documented Halo's private GraphQL API, which made it possible to add assignment tracking, course shortcuts, and grade projections without scraping fragile page markup.
Make personalization useful
Theme controls help students shape a learning environment they spend significant time using.