All Projects
Semester - Academic Planner for macOS
2026

Semester - Academic Planner for macOS

TaurimacOSJavaScriptProductivity

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:

Month view
Month view
Week view
Week view

Dropping in a syllabus and reviewing what was parsed before it's added:

Syllabus import and review screen
Syllabus import and review screen

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. 1

    Open the Import view (⇩ in the title bar) and copy the prompt.

  2. 2

    Paste it into Claude / ChatGPT / Gemini together with your syllabus; save the JSON reply as a .json file.

  3. 3

    Drop the file into the app, review the parsed assignments, and add them to your calendar.

One file per course. Items with unknown dates land in Needs a Date; the grading breakdown lands in the Grade Calculator.

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

Everything is stored locally in the app's web storage (localStorage, key semester-app-v1), with no accounts and no network. Notifications, the .ics save dialog, and trackpad haptics are the only native integrations.