Case 02 / 17 · Schedule tracker for Windows · 2026
Northstar
A Tauri 2 desktop app for study and work schedules: a drag-and-drop week, a home screen of large cards, pomodoro right inside a session, TipTap notes, always-on-top reminders with Done and Undo buttons, a mini widget and import from Excel. Works offline — data lives in SQLite on the computer, with daily backups and automatic updates. The installer is 12.7 MB.
- Development time: 7 days
- Lines of code: 17,000+
- Tests: 142
- Installer size: 12.7 MB
Challenge
An internship, course or university schedule usually lives in a spreadsheet or a shared calendar: it is hard to follow during the day, reminders get lost among other notifications, and there is nowhere to mark a session as done or write down what was covered. Cloud calendars need an account and the internet, while Electron apps weigh 150 MB and eat memory.
Solution
Tauri 2: the interface is React 19 + strict TypeScript, the system side is Rust — tray, mini widget, global hotkey, autostart, a custom notification window that never steals focus, and actions right from Windows notifications. Data is SQLite with migrations and an integrity check on launch; a damaged database is restored from an auto-backup in one click. Any action can be undone with Ctrl+Z through state snapshots. The logic (recurrence, overlaps, free slots, import, stats) is pure functions with 121 tests, and real-window scenarios are covered by e2e on WebView2. The app comes with a studio-style landing page with screenshots from the real interface and updates served through nginx.
Highlights
Tauri 2 + Rust, 12.7 MB · Works offline · Pomodoro in the widget · Ctrl+Z for any action
What was built
- A home screen of large cards: what is on now with a countdown, focus timer, today's plan, hours per weekday, schedule progress, free slots, notes and links
- Today, Week, Month and Agenda: drag in 15-minute steps, resize by the edge, create by dragging across empty space, a “now” line
- Recurrence by weekday and every N days, skipping a single day, editing one occurrence or the whole series
- A “done” mark and session notes for every session, programme progress in percent
- TipTap notes: headings, checklists, code, highlighter; session notes compiled in one click, full-screen mode, Markdown export
- Pomodoro for the current session or a free one: a ring with rolling digits on the home screen, in the mini widget and in the tray tooltip
- A mini widget above all windows: three sizes, opacity, click-through mode; on hover the timer replaces “Next”
- Custom notifications at the top of the screen: they never steal focus, show details on hover, “Done” with undo; or native Windows ones with action buttons
- Import from Excel and Google Sheets by pasting, CSV, XLSX and .ics with column mapping; re-importing updates changed events
- Undo any action with Ctrl+Z and redo with Ctrl+Shift+Z — moves, deletes, imports, bulk operations
- Multi-select with Ctrl+click: mark done, shift by a day, move to another schedule, delete
- Free slot search, week copy, event templates, overlaps right in the form
- Ctrl+K command palette and hotkeys: screens by number, a global hotkey to open the window from any app
- Stats for the week, month and all time: hours per schedule, tag and weekday
- SQLite with migrations, daily backups, an integrity check on launch and one-click recovery
- Tray, autostart, signed auto-updates, a custom NSIS installer; Russian and English interface
- A studio-style landing page: Study / Work / Internship scenarios, screenshots from the real interface, the latest version picked up automatically
Stages
- Foundation and data (1 day) — Tauri 2, SQLite with migrations, Zustand stores, the studio design system, a demo schedule
- Calendar (1 day) — Today, Week, Month, Agenda; recurrence, drag and resize, overlaps
- System side (1 day) — Tray, mini widget, global hotkey, autostart, notifications, installer and auto-updates
- Import and reliability (1 day) — CSV, XLSX and .ics with column mapping, backups, database check, undo for any action
- Study and focus (1 day) — Done marks and session notes, TipTap notes, templates, stats, pomodoro, free slots
- Polish (1 day) — Home screen, custom always-on-top notifications, English interface, tooltips, e2e tests
- Website and release (1 day) — A landing page with scenarios, screenshots from the interface, nginx and update distribution
Next project: CRM