Semester - Academic Planner for macOS
Overview
A macOS desktop app for tracking a college semester (assignments, exams, personal to-dos, and grades) with an Apple "liquid glass" design. Built with Tauri 2 and JavaScript.
Screenshots
The full month and week calendars:
Dropping in a syllabus and reviewing what was parsed before it's added:
Features
Calendar
Month, Week, and Agenda views with direct-manipulation trackpad scrolling: the calendar follows your fingers 1:1 and snaps to the nearest month/week, with Force Touch haptic ticks at each boundary.
Syllabus import
Copy the built-in prompt into any LLM with a course syllabus; it returns a JSON file you drop into the app. Assignments, recurring items, TBD dates, and the grading breakdown all import in one shot, with a review step before anything is added.
Grade calculator
Per-course weighted categories, auto-filled from the imported syllabus. Enter scores as they come to see your current grade and letter.
To-Dos
Personal tasks alongside coursework, shown in pink on the calendar, with their own page (Overdue / Today / Upcoming) and the top two pinned in the sidebar.
Animations
Fluid animations throughout the app: checking off items, transitioning between pages, and more.
Due-soon notifications
Anything unchecked and due within 3 hours triggers a macOS notification while the app is open.
Course editor
Rename, recolor, or bulk-edit any course's raw JSON, with a two-step delete to prevent accidents.
Extras
A "Needs a Date" inbox for TBD items, Completed history, .ics export to Apple Calendar, light/dark liquid-glass themes, and everything stored locally.
Importing a Course
- 1
Open the Import view (⇩ in the title bar) and copy the prompt.
- 2
Paste it into Claude / ChatGPT / Gemini together with your syllabus; save the JSON reply as a
.jsonfile. - 3
Drop the file into the app, review the parsed assignments, and add them to your calendar.
Development
Prereqs: Rust toolchain + Node (see Tauri prerequisites).
npm install
npm run tauri dev # run the app
npm run tauri build # build Semester.app / dmg
Frontend lives in src/ (plain HTML/CSS/JS, served as static files); the Rust shell in src-tauri/. There is no frontend build step.
Data & Privacy
localStorage, key semester-app-v1), with no accounts and no network. Notifications, the .ics save dialog, and trackpad haptics are the only native integrations.