An open-source, local-first macOS app for lightweight tasks and notes.
Capture tasks and thoughts one click away—without an account or cloud service.
English · 简体中文
Floatick is an offline-friendly desktop todo and quick notes app that rests above your workspace as a small, draggable icon. Click it and the icon expands into a focused panel; collapse it and the icon returns to the same anchor. The panel chooses its expansion direction from the available screen space, so it stays useful near any display edge. Tasks move through a deliberately small flow—Todo, Doing, and Done—with optional deadlines and quiet in-app reminders.
- Always within reach — drag the floating icon anywhere, then click to open.
- Fast task flow — create, edit, complete, search, archive, restore, and organize tasks in automatic daily sections.
- Visible focus — mark the task you are actively working on as Doing, give it a calm visual emphasis, and filter the list to active work.
- Deadlines without noise — set a due time while creating or editing a todo, or directly from the list; Floatick surfaces a compact in-app reminder and keeps overdue tasks visible without relying on system notifications.
- Lightweight quick notes — capture ideas, logs, and snippets grouped by date, with search, pinning, archiving, shared tags, autosave, and Markdown preview.
- Shared organization — reuse color-coded tags across todos and notes, combine filters, and copy a complete todo as Markdown.
- Local by default — no account, cloud service, or telemetry. Your todo and
note data remains in
~/.floatick. - Made for macOS — transparent AppKit window behavior, keyboard shortcuts, context-menu Quit, and support for Reduce Motion.
- Comfortable in any workspace — system, light, and dark themes with English and Simplified Chinese.
- Built-in updates — automatic and manual update checks powered by Sparkle.
Download the latest DMG from
GitHub Releases, open it,
and drag Floatick into Applications. Release packages are universal binaries
for both Apple silicon and Intel Macs.
Floatick is still an early preview and current downloads are not yet signed and notarized with an Apple Developer ID. macOS may ask for one extra confirmation the first time you open it:
- Try to open Floatick once.
- Open System Settings → Privacy & Security.
- Find Floatick in the Security section and choose Open Anyway.
- Confirm Open.
This confirmation is normally needed only once. For more detail, see Apple's guide to opening an app from an unidentified developer. Only download Floatick from this repository's Releases page.
| Action | How |
|---|---|
| Reposition Floatick | Drag the floating icon |
| Open Floatick | Click the floating icon |
| Collapse the panel | Click the collapse button or press Esc |
| Create a todo | Press ⌘N, or use the input at the top |
| Switch between todos and notes | Use the tabs at the top of the panel |
| Create a note | Open Notes and choose New |
| Search the current workspace | Press ⌘F |
| Edit a todo | Hover over the item and choose Edit |
| Start or stop Doing | Hover over a todo and use its play control |
| Show only active work | Use the Doing filter beside search |
| Set or edit a deadline | Use the alarm control on a todo row or in the todo editor |
| Complete a todo | Select its checkbox |
| Archive or restore | Use the action at the end of the item |
| Quit Floatick | Right-click the floating icon and choose Quit |
Floatick creates its working directory on first launch:
| Path | Purpose |
|---|---|
~/.floatick/todos.json |
Todos, Doing/completion state, deadlines, reminders, and archive state |
~/.floatick/notes.json |
Notes, tags, pinning, and archive state |
~/.floatick/tags.json |
Reusable tags shared by todos and notes |
~/.floatick/settings.json |
Theme and language preferences |
Sparkle stores the automatic-update preference in standard macOS application preferences. Floatick does not require an account and does not upload your todo or note data. Network access is used only to check for and download application updates.
- macOS 10.15 or later
- Flutter
3.44.7 - A complete Xcode installation
flutter pub get
flutter run -d macosIf Flutter cannot find Xcode, finish Xcode's first-launch setup:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunchdart format --output=none --set-exit-if-changed lib test integration_test
flutter analyze
flutter test
tool/test/run_ui_tests.sh
flutter build macos --releaseThe release app is written to
build/macos/Build/Products/Release/Floatick.app.
See the testing guide for the automated user journeys and
the macOS system boundaries that remain in Draft acceptance.
lib/
app/ App composition and themes
core/ Shared platform, storage, and UI primitives
features/ Todo, notes, settings, and update features
l10n/ English and Simplified Chinese resources
macos/Runner/ AppKit window shell and Sparkle integration
test/ Repository, ViewModel, and widget tests
integration_test/ Real-engine macOS user journeys
tool/ Icon and release tooling
Flutter owns product UI and state. A small AppKit shell owns macOS-specific window behavior and Sparkle. Product data never crosses the platform channel. See Architecture for the dependency boundaries.
flowchart LR
A["feature/* or fix/*"] --> B["Pull request"]
B --> C["main"]
C --> D["release/x.y.z"]
D --> E["Private Draft candidate"]
E --> F["Manual acceptance"]
F --> G["vX.Y.Z + production approval"]
G --> H["Public Release + Sparkle appcast"]
Daily work reaches main through pull requests. A release/x.y.z branch builds
a private Draft candidate for manual testing. A stable vX.Y.Z tag promotes
the exact accepted DMG after production approval; the release workflow does not
rebuild it.
Read the development and release workflow before preparing a release.
Issues and focused pull requests are welcome. Please keep changes scoped, add tests for meaningful behavior, and preserve the local JSON data contract.
Floatick is available under the MIT License.
© 2026 lucaslushuo