Chrome extension · Student productivity · Local-first

OTNow

I built an unofficial Chrome extension that gives Ontario Tech Canvas users a persistent deadline panel, moved-date detection, local reminders, and direct course navigation without asking for a Canvas password or sending course data to a separate server.

The student problem

Canvas contains the required data, but deadlines can be spread across planner items, course pages, quizzes, assignments, discussions, events, and announcements. OTNow began as a local companion that keeps the upcoming workload visible in a side panel without asking the student to create another account.

The design was inspired by WatNow with permission from its creator, but it was rebuilt for Ontario Tech's Canvas environment and its own visual language. It remains explicitly unofficial and does not claim endorsement by Ontario Tech University or Instructure.

Extension architecture

OTNow uses the student's existing authenticated Canvas session. A tightly scoped content bridge reads two read-only Canvas endpoints, normalizes the returned planner data, and sends it to the extension side panel. The panel groups entries by time, course, and type while preserving links back to the original Canvas item.

  • Assignments, quizzes, discussions, events, planner notes, and other dated items are retained when Canvas returns them.
  • Course, type, and grouping controls help separate immediate work from the full queue.
  • Moved-deadline detection makes silent date changes visible.
  • Local reminders and course shortcuts reduce repeated navigation.
  • Light, dark, and system themes follow the student's preference.

Privacy and permission decisions

The extension does not request a Canvas password and does not send course names, assignment names, links, grades, or other coursework to a separate OTNow server. Planner data and preferences remain in Chrome's local storage. Optional anonymous statistics are off by default and require explicit consent; when enabled, they share only broad numerical totals rather than coursework or identity data. There is no advertising identifier, tracking pixel, or OTNow user account.

Permissions are limited to what the side panel and Ontario Tech Canvas bridge need. The repository documents why each permission exists so Chrome Web Store disclosures and the implementation can be compared directly.

Offline and failure behavior

The last successful local snapshot remains available when Canvas is temporarily unreachable. The interface distinguishes cached data from a fresh synchronization and provides a manual refresh path. Invalid or partial responses should fail visibly instead of being interpreted as an empty schedule.

Installation and updates

The Chrome Web Store is now the recommended installation path because it provides automatic updates and avoids developer-mode setup. The GitHub release remains available for transparent manual installation. Its package is prepared so the extension root is the folder a user selects in Chrome, avoiding the common nested-folder error produced by downloading and unzipping the repository source. A separate guide explains setup, updates, troubleshooting, and removal in non-technical language.

The extension can compare its installed version with the public repository release information and explain the update steps. It does not silently replace itself outside Chrome's normal extension mechanisms.

Verification and limits

Automated coverage and release-package checks validate the core normalization, grouping, settings, privacy controls, and packaging behavior. I also tested installation, the authenticated Ontario Tech session bridge, first synchronization, and side-panel rendering against the live Canvas environment.

Version 1.5.0 is published on the Chrome Web Store. The opt-in public dashboard has recorded 290 Canvas items organized across 8 reporting installations as of October 5, 2026. Those numbers describe voluntary reporting activity, not total users or proof of learning outcomes. The project does not claim university endorsement, support for every Canvas institution, or access when the user's Ontario Tech session has expired.

Lessons and roadmap

The project showed that a useful extension needs a complete trust and support path: permissions, privacy, installation, updates, bug reports, suggestions, removal, and failure messages matter as much as the main interface.

Next work includes additional accessibility review, broader student feedback, clearer edge-case reporting, and changes justified by real use rather than feature count.