A local-first academic planner for Open University students.
SemesterPilot helps students organize their academic life by importing their university calendar, synchronizing assignments and academic events, tracking progress, and planning their semester — all while keeping their data private on their own computer.
- 📅 Import Open University
.icscalendars - 🔄 Smart calendar synchronization
- 🚫 Duplicate detection
- 📝 Assignment management
- ✅ Personal progress tracking
- 📋 Subtask management
- 🔍 Search, filter, and sorting
- 📊 Dashboard with academic overview
- 💾 Local SQLite database
- 🔒 Privacy-first (all data stays on your computer)
- 🌐 RTL support
- 🏗️ Clean Architecture
- Python
- SQLite
- HTML / CSS / JavaScript
- Clean Architecture
- Dependency Injection
- Pytest
- Ruff
- Mypy
Screenshots will be added as the project evolves.
Clone the repository:
git clone https://github.com/YOUR_USERNAME/SemesterPilot.git
cd SemesterPilotCreate a virtual environment:
python -m venv .venvActivate it:
.venv\Scripts\activatesource .venv/bin/activateInstall the dependencies:
pip install -r requirements.txtRun the application:
python prototype.pyThen open:
http://127.0.0.1:5050
SemesterPilot follows a layered Clean Architecture:
UI
│
▼
Application
│
▼
Domain
│
▼
Infrastructure
Business rules remain independent from the user interface and persistence layer.
SemesterPilot is designed as a local-first application.
- No cloud storage
- No user accounts
- No telemetry
- No personal data leaves your computer
Every user imports their own calendar locally.
- Clean Architecture foundation
- SQLite persistence
- Calendar (.ics) parser
- Smart synchronization engine
- Dashboard
- Assignment management
- Subtask management
- RTL UI foundation
- Weekly Planner
- Calendar view
- Notifications
- Settings
- Packaging and installer
The project uses:
- Pytest
- Ruff
- Mypy
to maintain code quality and reliability.
This project is licensed under the MIT License.