Skip to main content

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.

The Dashboard is the command center of IntelliPlan. The moment you sign in, every assignment pulled from your connected school platform lands in one of three columns — Overdue, Today, and Upcoming — ranked by AI priority scoring so the most pressing work is always at the top. You can create manual tasks alongside platform-imported ones, mark anything complete with a single click, and dismiss or restore assignments at will. Full dark mode support means the board looks great day or night.

Board Layout

The kanban board organises all your work into three columns based on due date, recalculated each time you open the app:

Overdue

Assignments past their due date that have not been completed or dismissed. Sorted by priority score, highest first.

Today

Everything due today. Sorted by priority so you tackle the highest-impact work first.

Upcoming

Future assignments sorted by proximity and priority. Gives you a preview of what’s coming so you can start planning ahead.

Auto-Import from Connected Platforms

IntelliPlan pulls assignments directly from every school platform you connect. There is nothing to paste or type — as soon as an assignment appears on your LMS, it appears on your board.

Canvas LMS

Assignments, due dates, points possible, and course names via the Canvas REST API.

Google Classroom

Active courses and coursework via Google OAuth.

StudentVue

Assignments and missing work via the StudentVue API.

Schoology

Assignments via API key and secret.

Blackboard Learn

Gradebook due dates via OAuth 2.0 (3LO).

Moodle

Assignments and events via a web-services token.
You can connect multiple platforms at the same time. IntelliPlan merges assignments from all of them into a single unified board so nothing falls through the cracks.

Priority Scoring

Every assignment on the board carries a High, Medium, or Low priority badge. The score is computed from three factors:
Assignments worth more points have a larger impact on your course grade, so they receive a higher priority weight.
The closer an assignment’s deadline, the more its priority climbs. An assignment due tomorrow scores higher than an identical one due next week.
Courses that count for more in your GPA contribute more to a task’s priority score, so you spend energy where it matters most.

Manual Tasks

Not everything shows up on an LMS. You can add your own tasks directly from the Dashboard — study sessions, personal deadlines, extracurricular prep — and they sit right alongside your imported assignments.
1

Open the task creator

Click the + Add Task button in the top-right corner of the board.
2

Fill in the details

Enter a title, due date, estimated duration, and optional course name. Choose a priority level manually or let IntelliPlan suggest one.
3

Save

Click Create. The task appears in the correct column immediately.
The manual task API endpoints used under the hood:
EndpointMethodDescription
/tasks/manual/createPOSTCreate a new manual task
/tasks/manual/updatePOSTEdit an existing manual task
/tasks/manual/deletePOSTRemove a manual task

Completing and Restoring Assignments

Marking an assignment complete removes it from the active board. If you dismissed something by accident — or if a deadline was pushed back — you can restore it just as easily.
EndpointMethodDescription
/dismissPOSTMark an assignment as complete / dismiss it
/restorePOSTRestore a previously dismissed assignment
Completing a task also counts as a qualifying action for the streak system. Each task you check off keeps your streak alive for the day.

Streak System

The streak system is an optional experiment behind the streak_v1 feature flag. It is off by default in production.
IntelliPlan includes a Duolingo-style task-completion streak that rewards consistent daily progress. Two actions qualify: completing a task and reviewing your dashboard (plan review). Streaks are tracked in your local timezone — not UTC — so they are never broken by time zone accidents.
You start with 2 streak freezes (maximum of 3). One freeze covers one missed day automatically. You earn a new freeze at every 7-day milestone.
Set the feature flag directly:
Enable via database
UPDATE feature_flags
SET enabled = true, rollout_percentage = 100
WHERE key = 'streak_v1';
Or via environment variable before starting the app:
.env
STREAK_V1_ENABLED=1
EndpointMethodDescription
/api/streak/statusGETCurrent streak, week dots, nudge eligibility
/api/streak/plan-reviewPOSTRecord a dashboard view as a qualifying action
/api/streak/set-timezonePOSTPersist the user’s IANA timezone
/api/streak/nudge-shownPOSTMark today’s nudge as shown
/api/streak/nudge-tappedPOSTTrack nudge tap
/api/streak/pill-tappedPOSTTrack streak pill tap
The streak engine lives in streak_engine.py and has zero Flask or database dependencies — all logic is pure Python, making it fully unit-testable in isolation.
Run streak unit tests
# Pure logic tests — no DB required
pytest test_streak_engine.py -v

# End-to-end tests with Flask test client + SQLite in-memory
pytest test_streak_e2e.py -v

Dark Mode

IntelliPlan fully supports light and dark themes. Your preference is saved across sessions, so the app always opens in the mode you last chose. Toggle between themes from the navigation bar at any time.

Live Data Refresh

The Dashboard always shows live data. Click Refresh or navigate away and back to re-fetch your assignments from connected platforms. The /tasks/unified endpoint merges assignments from all sources — platform imports, manual tasks, and Notion syncs — into one sorted list.
EndpointMethodDescription
/liveGETFetch live assignments from the connected platform
/tasks/unifiedGETAll tasks merged (platform + manual + Notion)
/missing/dataGETMissing and overdue assignments

Build docs developers (and LLMs) love