HomeTutor is a native, offline-first macOS desktop application designed specifically for independent hometutors, coaches, and private instructors. It provides a central, private control center to manage student listings, schedule tutoring sessions, issue and grade homework, log student comprehension progress, and track monthly/lifetime earnings.
Because it runs completely locally, it does not require an internet connection, has zero server latency, and guarantees absolute privacy for sensitive client data.
-
Dashboard & Analytics:
- Instant visual KPI indicators showing active students, revenue this month, total revenue, and pending assignments.
- Built-in data visualization using Swift Charts mapping monthly revenue trends and individual student billing shares.
- Live agenda displaying today's lesson list and timing.
-
Student Directory & Profiles:
- Dual-pane browser with fast keyword searching.
- Full student logs including standard grade levels, hourly/monthly rates, email/phone contact cards, and pedagogical notes.
- Timelines containing topic logs, subjective comprehension indexes (1-5 stars), and homework history.
-
Earnings & Billings Log:
- Dynamic tabular listing of historical payments.
- Search/filter controls sorted by student or duration.
- One-click native CSV Spreadsheet Export (utilizing macOS
NSSavePanel) for local accounting, taxes, or printouts.
-
Weekly Class Planner:
- Weekday agenda rows (Monday through Sunday) showing calendar timing, student, and lesson focus.
- Easy scheduler interface with minute-precision timing pickers.
-
Assignment Tracker:
- central grid monitoring homework statuses: Pending, Submitted, and Graded.
- Grading panel supporting numerical scores and customized tutor feedback.
-
Local Backup & Restores:
- Settings control to open the local folder directory directly in macOS Finder.
- Command to flush all databases or load pre-built demo records to explore interface features.
- Language: Swift 6.0
- Frameworks: SwiftUI, Swift Charts, AppKit, UniformTypeIdentifiers
- Persistence: Local JSON data serialization (
Codable) loaded synchronously on startup. - Data Location:
~/Library/Application Support/HomeTutor/ - Minimum OS Support: macOS Ventura (13.0) or newer (required for Swift Charts and modern navigation APIs).
This project is fully structured as a standard Swift Package Manager (SPM) executable target. It compiles and packages into a first-class macOS GUI application bundle (HomeTutor.app) purely through command-line utilities.
You need the macOS Command Line Tools installed (which provides swift, clang, and codesign). If you do not have them, run:
xcode-select --installNote: The full Xcode IDE is not required.
Run the automated build script:
./build.shThis script will:
- Compile the Swift executable in
releasemode. - Construct the standard
.appfolder structure (Contents/MacOS/,Contents/Info.plist). - Copy the compiled binary and metadata.
- Apply ad-hoc code-signing (
codesign) so macOS allows the GUI executable to run locally.
To compile and immediately open the application, pass the run parameter:
./build.sh runAll databases are saved locally in standard JSON files. Feel free to copy or backup this folder:
~/Library/Application Support/HomeTutor/
├── students.json
├── payments.json
├── assignments.json
├── progress.json
└── schedule.json
This project is licensed under the MIT License. See LICENSE for details.