Previous Work

BetterCampus

A Canvas LMS browser extension that improves the student experience by making assignments, grades, and themes easier to manage and customize.


BetterCampus hero image

Overview

BetterCampus is a Chrome extension built to reduce friction in everyday Canvas usage for students. It enhances the platform by introducing a more flexible task and assignment system alongside customizable themes. The goal was to make Canvas feel less rigid and more aligned with how students actually plan and organize their work. The extension runs seamlessly on top of Canvas without disrupting existing workflows.

Technical Approach

The extension was built using React and TypeScript, with a focus on modular components that could be reused across different Canvas pages. I worked heavily on integrating assignments and tasks by parsing Canvas data and mapping it into a consistent internal structure. Theme support was implemented by dynamically applying style overrides while preserving Canvas's base layout. Emphasis was placed on performance and maintainability since the extension runs continuously during Canvas sessions.

BetterCampus feature 1
BetterCampus feature 2
BetterCampus wide showcase

Challenges

🧩

Canvas DOM Complexity

Canvas pages vary heavily by context, so I had to rely on stable DOM patterns to safely inject and maintain custom UI components.

🎯

Assignment and Task Consistency

Keeping tasks and assignments in sync required normalizing Canvas data to avoid duplication and state mismatches.

🎨

Theming Without Breaking UX

Themes were implemented using scoped style overrides to preserve readability and avoid disrupting Canvas's core layout.

Impact

2M+
Users
99%
Uptime
300+
User Themes
4.9★
Avg rating
BetterCampus closing image