2026
canvas helper
browser extension and grade engine
canvas helper is a browser extension that puts course navigation, assignments, planning and grade calculations in one place. it uses the canvas session you already have open, pulls data from the api, and shows it in its own ui with a separate grade engine.
- javascript
- chrome mv3
- canvas api
- service workers
- unit tests
70% of course
30% of course
working inside canvas
content scripts (manifest v3) build the course pages, and a background service worker does the extension's other jobs. requests to the canvas api go through your existing logged-in session. settings, cached data and drafts you can recover are all saved in local storage.
grade math with real course rules
the engine knows about weighted and unweighted assignment groups, excused assignments, work that's been left out, and groups that don't have any graded submissions yet. drop rules still work when assignments are worth different amounts of points, and some assignments are marked so they never get dropped.
what-if grades and planning
what-if scores go through the exact same engine as your real grades. it also figures out grade trends, gpa weighted by credits, and what you'd need on the final to hit a target. the logic has javascript tests that run on their own, without canvas.
the thread through my work
most of the work was making the projections match how a course is actually graded, edge cases and all. if a drop rule or a weight is off, the projected grade is wrong.
development history, from 2019