Cfait
### 🚀 Features
- *(store)* Group tags (and sort them) in a case-insensitive way in the tags list (requested by Christian Meixner)
- Add a (weighted) random task selector ( https://codeberg.org/trougnouf/cfait/issues/17 )
- *(randomizer)* Only pick from is:ready tasks
- *(sorting)* Sort done/canceled tasks by most recently done/canceled first
- *(core)* Send user agent to CalDAV server (suggested by Geoffrey Frogeye)
- *(android)* Add export all data debug option
- *(cor
Cfait is designed for speed and stability using Rust, it puts you in control of your data with a local-first approach that syncs seamlessly across your devices.
Why Cfait?
- Open Source & Cross-Platform: Use Cfait on Android, Linux, and Windows. Your tasks adhere to open standards (CalDAV and iCalendar), not walled gardens.
- Syncs Everywhere: Fully compatible with Nextcloud, iCloud, Radicale, Xandikos, and other standard CalDAV servers.
- Offline First: Optimistic UI updates mean you never wait for a server response. Use the persistent "Local" calendar for offline tasks and migrate them to a server later.
- Smart Input: Add tasks naturally. Typing "Buy cat food !1 @tomorrow @@grocery_store ~15m" automatically sets the priority, due date, location and duration.
Productivity Features
- GTD Workflow: Mark tasks as Needs Action, In Process (>), Cancelled (x), or Done.
- Hierarchy: Create sub-tasks, promote children, and organize nested lists.
- Dependencies: Link tasks using "Blocked-by" or "Child-of" logic (RFC 9253).
- Tags & Aliases: Organize with hierarchical tags (e.g., #work:backend). Create inline aliases (e.g., #shed:=#home_improvement and @home_improvement:=@@home) for rapid filing.
- Sane Sorting: Tasks are sorted by Status > Start Date > Due Date > Priority.
Smart Syntax Guide
When adding or editing a task, use these shortcuts:
- !1 to !9: Set Priority (1 is Critical, 9 is Low).
- @date: Set Due Date (e.g., @tomorrow, @2025-12-31, @2w, @in two weeks).
- ^date: Set Start Date (hides task until date).
- ~duration: Estimate time (e.g., ~30m, ~2h).
- @every X: Set Recurrence (e.g., @daily, @every 2 weeks).
- @@loc: Set Location (e.g., @@home, @@"hardware store").
- url:http://perdu.com: Attach a URL.
Advanced Search
Find exactly what you need with powerful filters:
- is:active / is:done: Filter by status.
- ~<30m: Find tasks taking less than 30 minutes.
- !<3: Find high-priority tasks.
- @<today: Find overdue tasks.
- @@home: Find tasks at a specific location.
Support the Developer
If you enjoy using Cfait, please consider supporting its developer:
- 💳 Liberapay: https://liberapay.com/trougnouf
- 🏦₿ Other payment details are available within the app's "Help & About" screen or on the project website.
Community & Source
Cfait is developed by Benoit Brummer (Trougnouf) and released under the GPL3 License.
Source code, desktop versions, and issue tracking available at: https://codeberg.org/trougnouf/cfait
- Author: Benoit Brummer
- License: GNU General Public License v3.0 only
- Issue Tracker
- Source Code
- Build Metadata
- Reproducibility Status
Donate
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
arm64-v8aarmeabiarmeabi-v7amipsmips64x86x86_64This version requires Android 9.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 34 MiB PGP Signature | Build Log
-
arm64-v8aarmeabiarmeabi-v7amipsmips64x86x86_64This version requires Android 9.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 31 MiB PGP Signature | Build Log
-
arm64-v8aarmeabiarmeabi-v7amipsmips64x86x86_64This version requires Android 6.0 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 28 MiB PGP Signature | Build Log
### 🚀 Features
- *(tasks)* Implement time estimation ranges (e.g. ~10m-3h) with compatible search logic
- *(gui)* Initial work on keyboard shortcuts ( https://codeberg.org/trougnouf/cfait/issues/9 )
- *(gui)* Towards keyboard shortcuts
- *(gui)* Expandable description field with scroll bar
- *(android)* Parse new alias definitions in task input bar
- *(gui)* Double click to edit a task ( https://codeberg.org/trougnouf/cfait/issues/9 )
- *(tui)* Improved task editing exp
### 🚀 Features
- Show start date (if not yet started) in tasks list
- Add ^@ syntax (sets both start and due date(time)). sorting: if parent is canceled/paused/done, use that for the whole group
- Implement multi-select filtering and focus for tags & locations, make the clear icon always visible, improve UI and make it consistent between GUI and Android
- feat: implement multi-select filtering and focus for tags & locations and make the clear icon always visible on And











