A small, focused task & deadline reminder — one thing, done well. Create a task, set a deadline, and Taskline fires a local notification when the time comes, even if the window is closed.
Bills, appointments, and one-off chores — "pay the electric bill by today" — slip through the cracks. The heavyweight to-do apps want accounts, cloud sync, and a monthly fee to do it. I just wanted a thing that reminds me on time and then gets out of the way.
So Taskline does exactly that: local-only, no accounts, no telemetry, no network. It lives in the tray, fires a Windows toast when a deadline approaches, and that's it. Open it, set it, forget it.
- Title, description, due date and time.
- Two tabs — Upcoming / Complete — with swipe-to-complete and swipe-to-delete.
- Recurring tasks — daily / weekly / monthly (monthly clamps to month-end so Jan 31 → Feb 28).
- A calendar view of everything on your plate.
- Smart lead times — six configurable buckets (1 hour out → more than a year out), each with its own frequency. A deadline a month away nudges you differently than one an hour away.
- Windows toasts that fire even when the app window is closed.
- All scheduling is derived automatically — change a task or a setting and the whole reminder schedule re-computes.
- System tray — closing the window minimizes to tray so notifications keep working; real quit is in the tray menu.
- Launch at Windows startup (optional).
- Single instance — a second launch just surfaces the running window.
- Customizable 12/24-hour clock and date format.
- Terminal-brutalist theme — monospace type, CRT-phosphor green palette, hard-edged boxes.
A single Flutter codebase; Windows desktop is the shipped target.
- Local-only storage — SQLite for tasks,
shared_preferencesfor settings. Nothing leaves your machine. - State via Riverpod — mutations are optimistic (the list updates instantly, then persists), and loading the task list re-derives the full notification schedule.
- DateTimes are UTC at rest, local for display — recurrence and reminder math stay pure and unit-tested.
- Slotted notification IDs — each task owns a 100-ID block, so cancelling and rescheduling a task never collides with another's reminders.
-
Download
taskline.msixandtaskline.cerfrom the Releases page. -
Trust the signing certificate (one-time). The MSIX is self-signed. In PowerShell as Administrator:
Import-Certificate -FilePath taskline.cer -CertStoreLocation Cert:\LocalMachine\TrustedPeople
Or via the GUI: right-click
taskline.cer→ Install Certificate → Local Machine → Place all certificates in the following store → Browse → Trusted People → Finish. -
Install. Double-click
taskline.msix→ Install. Taskline appears in the Start Menu. -
First run. Open it from the Start Menu. Optional: Settings → General → Launch at startup.
To uninstall: Settings → Apps → Installed apps → Taskline → Uninstall.
Prerequisites: Flutter SDK (stable), Visual Studio 2022 with the Desktop development with C++ workload and C++ ATL for v143 build tools, Git, PowerShell. Run flutter doctor and expect green checks for Flutter, Windows, and Visual Studio.
git clone https://github.com/POSTTTT/Taskline.git
cd Taskline/taskline
flutter pub get
flutter run -d windows# Unsigned exe → taskline/build/windows/x64/runner/Release/taskline.exe
flutter build windows --release
# Signed MSIX (from repo root)
powershell -ExecutionPolicy Bypass -File scripts/create-signing-cert.ps1 # one-time cert
powershell -ExecutionPolicy Bypass -File scripts/build-release.ps1 # build + signThe signed taskline.msix lands in taskline/build/windows/x64/runner/Release/; the matching public cert is scripts/taskline.cer (committed).
See PLAN.md. Windows v1 has shipped (Phases 0–5). Next up: mobile port (Android, iOS), then cloud sync.
See LICENSE.