The IntelliPlan Chrome Extension brings your planner right into the browser you already use for schoolwork. It displays a live badge count of pending assignments on the extension icon so you always know your workload at a glance, and it injects a quick-access panel directly into Canvas (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/UAnirudh/IntelliPlan/llms.txt
Use this file to discover all available pages before exploring further.
*.instructure.com) and StudentVue (*.edupoint.com) pages — no tab-switching required. The extension authenticates with your existing IntelliPlan account and communicates exclusively with intelliplan.tech over HTTPS.
What the Extension Does
Assignment Badge
The extension icon shows a live badge with the count of pending assignments. The background service worker polls
/tasks/unified every 30 minutes via a Chrome alarm and updates the badge text and colour — red for overdue, blue for due today.Page Injection
Content scripts run at
document_idle on Canvas, StudentVue, PowerSchool, Aeries, Schoology, and several other SIS domains, surfacing an IntelliPlan panel without leaving the page.Account Login
Sign in directly from the popup with your IntelliPlan email and password. Your token is persisted in
chrome.storage.local so you stay logged in across browser restarts.Quick Actions
View tasks, your saved schedule, and grades — all from the extension popup, backed by the same API endpoints the main web app uses.
Installing in Developer Mode
The extension ships as source in theextension/ directory of the repository. Chrome’s Developer Mode lets you load it directly without publishing to the Web Store.
Open Chrome Extensions
Navigate to
chrome://extensions in your Chrome browser (or any Chromium-based browser such as Edge or Brave).Enable Developer Mode
Toggle Developer mode on using the switch in the top-right corner of the extensions page. Three new buttons appear: Load unpacked, Pack extension, and Update.
Load the Extension
Click Load unpacked and select the
extension/ directory from your cloned IntelliPlan repository. Chrome will immediately register the extension and show its icon in the toolbar.Sign In
Click the IntelliPlan toolbar icon. The popup presents a login form. Enter your IntelliPlan email and password — the extension posts your credentials to
/api/auth/login and stores the returned bearer token in chrome.storage.local under the key intelliplan_token.Developer Mode extensions remain loaded across Chrome restarts. If Chrome flags the extension as “unpacked”, that is expected behaviour — it simply means the extension was not installed from the Chrome Web Store.
Manifest Overview
The extension is a Manifest V3 extension (manifest_version: 3, version 1.1.0). Key declarations from extension/manifest.json:
extension/manifest.json
storage, alarms, and notifications permissions power local token persistence, periodic badge refresh, and browser notifications respectively. No tab or browsing-history permissions are requested.
Authentication Flow
The popup manages its own auth state usingchrome.storage.local. The token key (intelliplan_token) and user key (intelliplan_user) are set on successful login and cleared on sign-out.
extension/popup.js (auth constants)
Bearer header:
extension/popup.js (API fetch helper)
credentials: "omit" is intentional — the extension communicates via bearer token only, never relying on session cookies, which keeps the auth model portable across browser profiles.Popup Tabs and API Endpoints
The popup has three tabs — Tasks, Schedule, and Grades — each backed by a standard IntelliPlan API endpoint. All requests require a validAuthorization: Bearer <token> header.
Tasks tab — GET /tasks/unified
Tasks tab — GET /tasks/unified
Loads overdue, today, and upcoming assignments for display and badge calculation. The background service worker (The badge text is set to the sum of overdue + today items. Red badge for any overdue work; blue badge for today-only.
background.js) also polls this endpoint every 30 minutes to update the toolbar badge count and fire notifications.Response shapeSchedule tab — GET /schedule/saved
Schedule tab — GET /schedule/saved
Returns the student’s saved AI-generated study schedule. The popup shows today’s blocks with time slot, assignment name, course, and duration. A “Generate one in IntelliPlan” link opens the scheduler if no schedule is saved.
Grades tab — GET /grades/data
Grades tab — GET /grades/data
Returns per-course grade data pulled live from the connected school platform. Displays course name, percentage, letter grade, and a colour-coded bar.
Authentication — POST /api/auth/login
Authentication — POST /api/auth/login
Called when the user submits the login form in
popup.html. Returns a bearer token stored under intelliplan_token in chrome.storage.local.Request bodySupported School Platforms
The content scripts cover every major SIS and LMS in use:| Domain Pattern | Platform |
|---|---|
*.instructure.com | Canvas LMS |
*.edupoint.com | StudentVue / Synergy |
*.powerschool.com | PowerSchool |
*.aeries.net | Aeries SIS |
*.infinitecampus.com / *.infinitecampus.org | Infinite Campus |
*.skyward.com | Skyward |
*.eschoolplus.com | eSchoolPlus |
*.schoology.com | Schoology |
Options Page
The extension includes anoptions.html options page, accessible via right-clicking the toolbar icon → Options. Use it to configure notification preferences and manage your linked IntelliPlan account.