[New Plugin]: Hold Course - an academic course and assignment tracker

Disclaimer

Is this project open source? Yes
Is this project completely free? Yes
Is this project vibe-coded beyond the author’s ability to comprehend how it works? No
Community Directory: Hold Course - Obsidian Plugin


Hello everyone,

I’ve dropped my third plugin: Hold Course — an academic course and assignment tracker that lives entirely inside your vault.

What it does

Syllabi don’t fit cleanly into task lists, at least they didn’t for me. I’m self-taught, working through courses on my own schedule, and what started as a manageable system of tasks and notes eventually became its own job — chasing lectures, tracking readings, trying to remember what connected to what. Hold Course is what the tracker I needed.

The premise is simple: you should always know exactly where you are in a course. Hold Course tells you. The rest is up to you.

How it works

  • Dashboard — your classes for the active semester, each showing lecture progress and a quick path to assignments and exams.
  • Lectures — log them, mark them done, link them to vault notes, and quick-add resources without leaving the lecture.
  • Assignments — typed (Reading, Writing, Project, Discussion), color-coded throughout, with due dates, grades, and vault note links.
  • Exams — tracked separately with live countdowns and their own calendar color.
  • Library — a semester-wide resource pool. Books, PDFs, articles, handouts. Each resource tracks which lectures and assignments reference it, bidirectionally.
  • Calendar — week and month views, type-colored assignment pills, class-colored lecture pills, a legend strip, and a day-click popover that navigates directly to any item.
  • Global Assignments view — every assignment across all classes in one list, filterable by class and type, sortable by due date, class, or status.
  • HC Today sidebar — today and tomorrow, all item kinds, all classes, in Obsidian’s right panel. Click anything to navigate directly to it.
  • Command palette shortcuts — add a class, open the calendar, show global assignments, or add a library resource without opening the plugin first.

The philosophy

Hold Course is a clear-eyed informant, not an advocate. It states where things stand and steps back. No coaching, no urgency theater, no productivity guilt. Just your courses, clearly laid out.

Install

Search Hold Course in Settings → Community Plugins, or use the Community Directory link above.

Desktop only.


Happy to hear feedback or find out what I missed. This is a hobby project — I built it to use it myself, but I hope it’s useful to you as well.

Thanks for reading!
LiveAQuietLife

Hold Course v1.1.2 is out.

A few fixes and small features added.

What’s new

  • Overdue column on the dashboard — the Today strip used to show “Due today” and “Coming up,” but anything already past due fell through the cracks between them. It now gets its own column, first position, and only appears when something’s actually overdue.
  • Click to advance status, right from the list — lecture rows, assignment rows, and the global assignments view all had status pills you could only change from the detail screen. Now you can click through Not Started > In Progress > Done directly from the list. Exams get a simpler done/not-done toggle, matching how they already worked in detail.
  • Rename and delete semesters — a typo in a semester name used to be permanent. Now you can rename and delete from the semester dropdown. Delete shows you exactly what you’re removing (classes, lectures, assignments, exams, resources) before you confirm.
  • Grade chips — if a done assignment or exam has a grade recorded, it now shows as a quiet pill next to the title in list views.
  • Overnight refresh for the Today sidebar — it used to only update when you made a change inside Hold Course. Now it also catches the date rolling over if you leave Obsidian open overnight.
  • Dark theme pass — accent colors used as text (class codes, tabs, links) were better adjusted for dark themes.

Update through Community Plugins or within Obsidian as usual.

Feedback’s always welcome.

Thanks!
LiveAQuietLife

1 Like

1.9.0 — now on mobile

Some big changes in this release:

  • Mobile support — this was a feature several asked for and hopefully it delivers a nice experience on your device.
  • Interface scale — a 90–150% slider that scales the whole interface. Useful on e-ink or in a narrow pane.
  • Reading pace tracking — set a page count and target date, log progress, see what daily pace finishes on time.
  • Assignments view is now a sortable table — seven columns across every class listing, among others, grades, due dates, and reading times for assignments.
  • Term-window flags on assignments whose due date has drifted outside their class’s term.
  • Data snapshot command for one-click backups.

Full changelog: Releases · LiveAQuietLife/obsidian-hold-course · GitHub

Thanks for your intested!

Hold Course 1.13.0 is out :page_facing_up:

The big one this time is syllabus export.

Syllabus export
Open a class and hit Syllabus in its header. Hold Course writes a syllabus note with the course details, reading list, grade weights, and a week-by-week schedule of lectures, assignments, and exams. Statuses, grades, and progress are never included.

It works with two notes, which takes a minute to click:

  • Your syllabus note is where you write the parts Hold Course doesn’t know: description, objectives, policies. Create it in Edit class → Syllabus note. Hold Course reads it but never changes it.
  • The syllabus is what Hold Course writes. It’s replaced each time you export, so keep lasting edits in your note.

Easiest way to get it: create the note, type a line under Description, export, and compare the two. The README’s Syllabus section has the details.

Exam types
Exams can now be Exam, Midterm, Final, or Quiz, or a type of your own. Each type gets its own weight on the Grades tab, so a midterm at 25% and a final at 40% finally work.

Also new

  • Mark Library resources Required or Recommended. The syllabus groups its reading list that way.
  • Previous/next arrows on a Library resource’s page.
  • Phone: the Courses and Assignments tables keep their row lines when you scroll sideways.

Heads up: if you made an assignment type called Midterm, Final, or Quiz, it’s renamed to “Quiz (assign.)” etc., since those are now exam types. Your grades don’t change, and you can rename it in Settings → Assignment types.

Update from Community plugins, or see the release notes: