A cross-browser extension built with WXT that retools the D2L-based Brightspace LMS, improving the UI and extending its functionality.
6-phase development roadmap from initial scaffold to public release.
Goal: Build a functional, cross-browser extension skeleton using WXT that loads, builds cleanly, and injects into Brightspace.
chore(init): Scaffold project with WXT (React, TS, Tailwind)chore(config): Add ESLint and Prettier for code quality
feat(config): Configurewxt.config.tswith manifest details (permissions, icons)feat(entrypoints): Establish background and content script entrypoints
feat(popup): Implement React popup with placeholder navstyle(popup): Add Tailwind styles for popup layout
feat(content-script): Implement logic to interact with Brightspace pagestest(content-script): Add smoke test for DOM injection
feat(storage): Set up Dexie schema for tasksrefactor(storage): Abstract storage utils for the sidebar
feat(sidebar): Add persistent sidebar container as a UI entrypointfeat(sidebar): Render placeholder task list from storage
Goal: Implement rubric parsing, task persistence, quick submission, and screenshot capture. (This phase is unchanged as it focuses on application logic.)
feat(parser): Add DOM parser for rubric tablestest(parser): Add unit tests for rubric JSON output
feat(sidebar): Store tasks in IndexedDBfeat(sidebar): Reload tasks on init
feat(storage): Add offline-first handlingfix(storage): Resolve task sync race conditions
feat(workflow): Embed rubric checklist on submission pagefeat(workflow): Add one-click "submit with rubric" button
feat(capture): Integrate Chrome API for screenshotsfeat(capture): Attach screenshots to task entries
feat(options): Build extension settings pagestyle(options): Polish settings UI with Tailwind
Goal: Establish a cloud backend with authentication, sync, and staging deployment.
chore(api): Scaffold Node.js + Express serverinfra(docker): Add Dockerfile + docker-compose
feat(db): Add PostgreSQL schema for tasks/usersfeat(db): Add Redis cache for recent tasks
feat(api): Implement GraphQL schema + resolverstest(api): Add integration tests for tasks query
feat(auth): Add JWT-based authfeat(auth): Integrate OAuth2 for Google/School SSO
feat(sync): Implement push/pull for tasksfix(sync): Handle merge conflicts gracefully
infra(ci): Set up GitHub Actions CI/CDinfra(aws): Deploy backend to AWS EC2 + S3
Goal: Enable CRDT-based real-time collaboration and advanced rubric automation. (This phase is unchanged as it focuses on application logic.)
feat(crdt): Integrate Yjs for conflict-free synctest(crdt): Add CRDT merge scenario tests
feat(ws): Add WebSocket server for group updatesfeat(client): Connect sidebar to WebSocket
feat(groups): Implement group creation + invite linksfeat(groups): Sync group tasks in real time
feat(rubric): Auto-generate checklist from rubric JSONfeat(rubric): Mark completed criteria in real time
perf(parser): Optimize rubric parsing with cachingperf(sidebar): Lazy load large task lists
Goal: Improve UX, add testing coverage, ensure privacy compliance, and leverage WXT for multi-browser support.
test(unit): Add Jest unit teststest(e2e): Add Puppeteer end-to-end tests
feat(ui): Add animations + accessibility rolesfix(ui): Improve color contrast for dark mode
feat(privacy): Implement consent modalfeat(telemetry): Add optional anonymous analytics
chore(build): Generate and test builds for Firefox, Edge, and other target browsers using WXT's built-in capabilitiestest(compat): Address any browser-specific CSS or API issues
chore(audit): Run dependency vulnerability scanfix(auth): Patch JWT library version
Goal: Final polish and public launch on the Chrome Web Store and other marketplaces.
docs(readme): Update usage instructionschore(build): Optimize production build with Vite
docs(contrib): Add contribution guidelinesfeat(onboarding): Add user onboarding flow
release(1.0.0): Stable MVP releasedocs(readme): Add demo video + success metrics
| Phase | Timeline | Status |
|---|---|---|
| Phase 1: Foundation | October 2025 | π‘ In Progress |
| Phase 2: Core Features | November 2025 | βͺ Planned |
| Phase 3: Backend & Sync | December 2025 | βͺ Planned |
| Phase 4: Advanced Collaboration | January 2026 | βͺ Planned |
| Phase 5: Polish & Testing | February 2026 | βͺ Planned |
| Phase 6: Release | March 2026 | βͺ Planned |
- v0.1.5 β Working cross-browser extension with sidebar
- v0.2.5 β Full offline functionality with rubric parsing
- v0.3.5 β Cloud sync and authentication working
- v0.4.4 β Real-time collaboration features complete
- v0.5.4 β Production-ready with full test coverage
- v1.0.0 β Public release on extension stores
Status: Actively in development. Current Version: v0.1.x β Foundation Phase.