Live A Quiet Life105 downloadsAcademic assignment and lecture tracker. Always know where you are.
Always know where you are.
Hold Course is an academic tracker for Obsidian. Add your semesters and classes, log your lectures, and track your assignments and exams — all in one place, all in your vault. No syncing, no accounts. Just your courses, clearly laid out.
Note: Hold Course is designed for desktop use. Mobile is not supported.
Hold Course grew out of a simple frustration: syllabi don't fit cleanly into task lists. I'm a self-learner, working through courses and curricula on my own schedule, and what started as a manageable system of lists eventually became its own job — tracking lectures, chasing readings, and trying to remember what connected to what. Hold Course is what I personally needed: an academic tracker that lives inside my vault, where my notes and resources are a click away instead of scattered somewhere else entirely.
Hold Course is built around a simple premise: you should always know exactly where you are in a course — which lectures you've attended, which assignments are coming, and what needs your attention today. It tells you where things stand. The rest is up to you.
Classes are organized into semesters. Each class holds its own lectures, assignments, exams, and a library of resources referenced across your coursework. You advance items through their status as you go, and optionally link anything to notes in your vault. The plugin tracks the rest.
Search for Hold Course in Obsidian's community plugin browser (Settings > Community plugins > Browse), install, and enable it. The plugin adds a Hold Course icon to your left ribbon.
Click the Hold Course ribbon icon to open the plugin. It opens as a full-width tab.
On first launch you'll see the Overview — an empty workspace. Here's the typical setup flow for a new semester:
From there, it's a matter of advancing item statuses as the semester moves. So turn this:
into this:
The Overview opens with a strip summarizing what needs attention right now, drawn from assignments across every class in the active semester.
Overdue: Any assignment past its due date and not marked done, oldest first. This column only appears when something is actually overdue — no overdue work, no column.
Due Today: Assignments due today.
Coming Up: The next several assignments due after today, soonest first.
Click any item in the strip to jump straight to its detail screen.
The semester dropdown at the top of the Overview lets you switch between semesters or create a new one. Only one semester is active at a time, but your data from previous semesters stays in place.
Creating a semester: Open the dropdown and click + New Semester.
Switching semesters: Select any semester from the dropdown.
Renaming a semester: Open the dropdown and select Rename Semester.
Deleting a semester: Open the dropdown and select Delete Semester. Since this removes every class, lecture, assignment, exam, and library resource under that semester, the confirmation dialog states exactly how much is about to be deleted. This cannot be undone.
Inside a semester, each class appears as a card on the Overview showing the class name, course code, and instructor.
Adding a class: Click + Add Class and fill in the details — name, course code, course page URL, professor name and email, office hours, TA name and email and office hours, meeting days, and a meeting link. Only the class name is required; fill in the rest as you have it.
Opening a class: Click the class card. Each class has four tabs: Lectures, Assignments, Exams, and Library.
Editing or deleting a class: On the dashboard, hovering near the top right of a class card reveals a menu to Edit class and Delete class. A class can also be edited from the Edit button in its detail screen.
Lecture progress: Once you've marked at least one lecture done, the class card shows a progress fraction — lectures completed out of total logged.
Professor email: If an email address is saved to the class, it appears as a clickable link that opens your operating system's default mail client.
Note: The professor email link requires a default mail client configured on your system (such as Mail on macOS or Outlook on Windows). If no default mail client is set, the link may not open.
Course page URL: If a URL is saved to the class, it appears as a quiet external-link icon next to the class name on the dashboard card, and as a "Course page" link in the class header. Useful for linking to a course portal, Coursera page, or syllabus hosted online.
Meeting link: A recurring meeting link — Zoom or similar — kept separate from the course page URL, since a course portal and a place to join class are different things. It appears in the class header next to the meeting days, because when class happens and how you get there is really one question.
Office hours and TA: A class can record office hours for the professor, and a name, email, and office hours for a teaching assistant. The class header shows the professor and the TA side by side as labeled blocks of equal weight, with a divider between them.
All of this is optional, and nothing is drawn until it has content. A person appears once any one of their fields is filled in. The TA block is absent entirely until it has something to show. The divider appears only when there are two blocks to divide. A class with nothing but a name shows a header with nothing but a name.
Inside a class, the Lectures tab lists all logged lectures in order.
Adding a lecture: Click + Add Lecture and fill in the title and date.
Bulk adding lectures: Click Bulk add to open a paste box for entering a whole schedule at once — one lecture per line.
Dates can be filled in for you. Pick the first day of class, confirm the meeting days, and dates walk the calendar from there, one lecture per meeting. A blank line skips a meeting, which is how you handle a reading week or a holiday. A date at the end of a line marks that lecture as an out-of-band session — a guest lecture or a makeup — placing it on that date without consuming a meeting slot. ISO (2026-08-24), Aug 24 / 24 Aug, and numeric (8/24) formats are all accepted.
A live preview shows every parsed lecture and the date it will land on before anything is added. Short titles are highlighted for a second look, since a pasted line break can quietly split one lecture into two. A bulk add can't be undone in a single step, so the preview is worth reading.
Status: Each lecture has a status pill that cycles through Not Started / In Progress / Done. Click the pill — from the list or the detail screen — to advance it. Done lectures appear with muted styling — present in the record, but visually stepped back so your attention goes to what's ahead. Completed lectures can be hidden completely by using the Show done/Hide done toggle.
Sort order: Use the sort toggle to switch between oldest-first and newest-first.
Lecture detail: Click a lecture to open its detail screen, where you can edit its fields, jot key concepts and lesson goals, link the lecture to a note in your vault, and see every assignment attached to it. Assignments can be added here one at a time or in bulk.
Inside a class, the Assignments tab lists all logged assignments.
Adding an assignment: Click + Add Assignment and fill in the title, due date, type, and any other details.
Bulk adding assignments: Open a lecture and click Bulk add in its Assignments section. One assignment per line — each becomes an assignment attached to that lecture and inherits the lecture's date as its due date. One type applies to the whole batch, so paste one kind at a time. A live preview shows every assignment before anything is added, and the same caution applies: check the rows, because a bulk add can't be undone in a single step.
Assignment types: Each assignment has a type — Reading, Writing, Project, Discussion, or Other — color-coded throughout the plugin so you can scan quickly.
Grade: Assignments have an optional grade field. Fill it in after graded work is returned. Once an assignment is marked done, a recorded grade appears as a quiet pill next to its title in every list view.
Filtering: Use the All types dropdown to show only one kind of assignment. The Show done/Hide Done toggle works alongside the filter — they stack.
Status: Each assignment has a status pill that cycles through Not Started/In Progress/Done. Click the pill — from any list or the detail screen — to advance it. Done assignments appear with muted styling across all views. Completed assignments can be hidden completely by using the Show done/Hide done toggle.
Assignment detail: Click an assignment to open its detail screen, where you can edit all fields, link the assignment to a note in your vault, or quick-add a resource to the Library.
Inside a class, the Exams tab lists scheduled exams with their dates and a live countdown to each one.
Adding an exam: Click + Add Exam and fill in the name and date.
Countdowns: Each exam shows how many days away it is, updated automatically.
Status: Exams are a simple done / not done toggle — click the status control on the exam row, or open the detail screen and use the Mark done button. A recorded grade appears as a quiet pill on done exams. Done exams can be hidden using the Show done/Hide done toggle on the Exams tab.
Exams appear on the Calendar in their own color, distinct from lectures and assignments.
The Library tab collects every resource associated with a class — books, articles, reference works — into a single list. Resources accumulate here as you add them, and each one tracks which lectures and assignments reference it.
Adding a resource: Click + Add Resource to add a resource directly to the Library. Resource types include Book, PDF, Handout, Article, Online resource, and Other.
Filter by class: The Library has an All classes filter, so you can view resources from a single class or across all your classes at once.
Status: Each resource has a status pill — Unread, In Progress, or Done — that you can advance as you read.
Linked Book: Reading assignments can be linked directly to a resource in the Library. For all other assignment types, a Linked Note field is available instead. Both are set from the assignment's detail screen.
Resource detail: Click any resource to see everything associated with it: the classes it belongs to, its type, and every lecture and assignment that references it — each one clickable through to the item itself.
The Calendar shows all your lectures, assignments, and exams across all classes in one view.
Week and month modes: Switch between views using the toggle in the upper left.
Legend: The top of the calendar shows a color key — lectures listed by class, assignments listed by type (Reading, Writing, Discussion, Project, Exam, Other). Exams from the Exams tab appear in their own color.
Class filter: Use the All classes dropdown at the bottom to narrow the calendar to a single class.
Day detail: Click any day to open a popover listing every item scheduled for that date, each labeled with its type and class. Click any item in the popover to view its full detail screen.
Done items appear with strikethrough and muted styling in both the calendar and the day detail popover.
The Assignments button in the toolbar opens a cross-class view of every assignment in the current semester — all classes combined in one list.
Filtering: Use the class filter to narrow to a single class, and the type filter to show only one assignment type. Both filters stack.
Sorting: Cycle through three sort modes — by due date, by class, or by status. Hold Course will remember your last choice.
Show done: Use the Show done toggle to include completed assignments in the list.
Click any assignment to open its detail screen.
Hold Course adds an HC Today panel to Obsidian's right sidebar. It shows everything due or happening today and tomorrow — lectures, assignments, and exams, all classes combined.
Each item shows its title and a subtitle line with the class name and item type. Lectures are color-coded by class; assignments are color-coded by type — the same system used throughout the plugin. Items you've marked done appear with strikethrough and muted gray styling so finished work recedes and what's still ahead stays visible.
Opening: The sidebar opens automatically when the plugin loads. Use the command palette to reopen the sidebar if necessary.
Navigating: Click any item to open the main Hold Course tab and navigate directly to that item's detail screen.
Auto-refresh: The sidebar updates automatically whenever you make a change in Hold Course, and again on its own if the date rolls over while Obsidian is left open — so Today and Tomorrow stay accurate even overnight. You don't need to refresh it manually.
Hold Course registers several commands in Obsidian's command palette (Ctrl/Cmd+P) for quick access without opening the plugin first:
All commands are hotkey-bindable via Settings > Hotkeys.
Any lecture, assignment, or exam can be linked to an existing note in your vault. Set the link from the item's detail screen. Linked notes open directly from the detail screen.
All plugin data is stored in data.json inside the Hold Course plugin folder. This file is created automatically on first use and holds all your semesters, classes, lectures, assignments, exams, and library resources. Back it up along with your vault.
Hold Course is a community plugin for Obsidian. Feedback and bug reports are welcome via the GitHub repository. Screenshots were captured on vault using the Soft Paper theme by Nick Milo, https://linkingyourthinking.com