A pixel-art school timetable for people juggling multiple projects.
中文 · Motivation · Features · Quick Start
my_schedule turns an open-ended day into a high-school-style timetable. Instead of letting one project consume the whole afternoon, you split the day into class blocks, breaks, meals, and evening classes. Each class owns one task context and its own todo list.
It is intentionally small: a local-first Web app with no build step, designed as a product prototype for a future native macOS / SwiftUI version.
Recently, I have been following two or three projects every day. My time is flexible, but that freedom creates a recurring problem: I can accidentally spend a lot of time on one project and leave the others behind. Another failure mode is context leakage: while I am working on Project A, my mind keeps circling around Project B.
To keep my context coherent, I remembered high school. Back then, even with seven subjects running in parallel, my brain did not feel as messy because each subject had its own class block. This app brings that structure back: plan the day like a school timetable, move multiple tasks forward one class at a time, and let each block hold its own mental context.
- School timetable rhythm: default
09:00-18:00, 40-minute classes, 10-minute breaks. - Meal-aware scheduling: lunch and dinner are first-class blocks, and classes avoid meal windows.
- Evening classes: generated only when the schedule ends after
19:00. - Class-level focus: each class has a title, in-class todos, and a countdown-driven status.
- Widget preview: shows the current class, remaining time, todo summary, and focus toggle.
- Future calendar: plan individual days with per-day start/end time, meal windows, tasks, and todos.
- Custom classes: add one-off schedule blocks through an in-app pixel-style modal.
- Notifications: browser alerts for both class starts and breaks.
- Bilingual UI: switch between English and Chinese with a small
Englishbutton.
Run a local static server from the repository root:
python3 -m http.server 4173Then visit:
http://localhost:4173
The app uses ES modules, so a local static server is more reliable than opening index.html directly.
.
├── index.html
├── styles.css
├── app.js
├── assets/
│ ├── logo.svg
│ └── web-preview.png
├── README.md
└── README.zh-CN.md
- Continue hardening the standalone
ScheduleEnginewith more template and edge-case tests. - Rebuild the app in SwiftUI for a native macOS experience.
- Add WidgetKit support for a real desktop widget.
- Bridge focus mode through macOS-native capabilities.
The visual language is intentionally cozy and pixel-art inspired: a school schedule planner that feels closer to a small farm notebook than a corporate calendar.
