A clear place for your tasks. An ordinary folder for your work.
A native desktop task manager with projects, subtasks, Markdown notes, and portable workspaces.
Your tasks and attachments stay in files you can read, edit, and take with you.
Website · Download · Quick start · Workspace format · Issues
The actual desktop app, showing the included Team project sample. Sample people and projects are fictional.
TodoBench keeps your project tabs and task list beside the details of the selected task. Organize a household job, plan a move, or track a project through drafting, review, and handoff. Notes and attachments stay with the work they describe.
| What you need | What TodoBench gives you |
|---|---|
| See the next step | Nested projects and subtasks, five task states, priorities, tags, and due dates |
| Keep the details nearby | Markdown notes with Visual, Source, and History views, checklists, links, and attachments |
| Focus on a slice of work | Project tabs, saved views, and filters that combine text, tags, project names, and states |
| Remember recurring work | Date-only scheduling, calendar-based or after-completion recurrence, and reminders |
| Make the app comfortable | Eleven appearance choices, custom colors, and Browser or Total Commander keyboard presets |
| Keep control of your data | Ordinary Markdown and JSON files, complete .7z snapshots, history, trash, and conflict recovery |
TodoBench v0.1.1 is available for all four targets below. Runtime libraries are bundled; you do not need a separate Qt installation.
| Platform | Install | Portable |
|---|---|---|
| Linux x86_64 | AppImage | Bundled tar.gz |
| Windows x64 | Per-user installer | ZIP |
| macOS Apple Silicon | DMG | Application ZIP |
| macOS Intel | DMG | Application ZIP |
Linux packages target Ubuntu 24.04 or compatible newer systems. Make the AppImage executable before opening it; without FUSE, use APPIMAGE_EXTRACT_AND_RUN=1. Windows packages have no publisher certificate. macOS apps are ad-hoc signed, without notarization. See the installation guide for first-launch steps.
Every release includes SHA-256 checksums, the exact application source, dependency source, and build instructions. All releases →
- Open TodoBench. The first-launch guide can create a workspace or open an existing folder.
- Choose a starting point. Start with an empty Inbox, everyday to-dos, a move, a team project, a website project, or the guided feature tour.
- Choose an empty folder, theme, and keyboard preset. Preview the sample before creating it. Files go directly into your chosen folder.
- Make it yours. Add a task, expand its subtasks, write notes, or use Open tab… to choose a project or saved view.
TodoBench reopens your last workspace, tabs, and filters on launch. Return to Help → Getting started whenever you need the guide. Sample dates are relative to creation day and sample reminders are off.
Read the getting-started guide →
| Everyday to-dos | Move into a new home |
|---|---|
![]() |
![]() |
my-workspace/
├── settings.json
└── projects/
└── inbox/
├── project.md
└── tasks/
└── plan-the-week/
├── task.md
└── assets/
└── brief.pdf
Task and project metadata live in YAML front matter; notes are Markdown. Settings are JSON. Stable UUIDs identify tasks and projects, folders determine project membership, and relative links keep attachments portable.
- Edit with other tools. Metadata edits preserve note bodies byte-for-byte and retain unknown fields, including nested extensions. Unsupported Markdown remains editable in Source.
- Keep competing edits. Clean external changes reload; stale saves retain competing versions for recovery. Opening or inspecting a file does not rewrite it.
- Export the whole workspace. Standard
.7zsnapshots include attachments, unknown files, history, trash, and recovery material. Transient locks are excluded. - Build another client. The workspace v1 specification, representative fixtures, and independent reference test define the public interoperability interface.
TodoBench works locally without a hosted account. Automatic synchronization and merging are outside this release; see the specification before coordinating external writers.
Choose View → Appearance for System, Light, Dark, Midnight, Blue, Green, Brown, Amber, Purple, Rose, or Paper. Each preset can keep its own custom colors. Light has a white editor; named presets use consistent Qt Fusion controls.
| Dark | Brown |
|---|---|
![]() |
![]() |
Preview themes on the website →
TodoBench uses C++20, Qt 6.8+ (release SDK: 6.8.3), CMake 3.24+, Ninja, yaml-cpp, and libarchive. Qt is supplied separately from the vcpkg manifest. Python 3.10+, the development requirements, and standalone 7-Zip are needed for validation.
python -m pip install -r requirements-dev.txt
cmake --preset dev
cmake --build --preset dev --parallel
ctest --preset dev --output-on-failure
python scripts/check-quality.py --build-dir build/devProvide your Qt and dependency paths as described in the build guide. Windows uses MSVC and the pinned vcpkg baseline. Start the development build with ./build/dev/TodoBench, optionally followed by a workspace path. The asan and release presets are also available.
CI runs 17 native suites across Linux, Windows, Intel macOS, and Apple Silicon macOS, plus Linux sanitizers, complexity checks, and workflow lint. Release gates verify packaged startup, dependencies, workspace round trips, and downloaded checksums before publication.
| Guide | Covers |
|---|---|
| Getting started | Samples, first launch, project tabs, filters, and custom colors |
| Installation and packaging | Platform requirements, unsigned installation, source builds, and release verification |
| Workspace format v1 | Persisted fields, safe external edits, attachment paths, and archive rules |
| Development | Tooling, native tests, sanitizers, and complexity gates |
| Contributing | Bug reports, changes, and validation |
| Website maintenance | Static site build, screenshots, and GitHub Pages deployment |
Found a problem or have an idea? Open an issue. Please include your platform, TodoBench version, and steps to reproduce a bug.
Copyright © 2026 Aleksandr Oreshkin. Free software under GPL-3.0-or-later. You may redistribute and modify it under version 3 of the GNU General Public License, or any later version. It comes without any warranty.
See LICENSE and third-party notices, including Qt and the bundled Lucide icons. Corresponding source and build instructions accompany release binaries.





