This is a deadly simple task manager. Over the years I have used a lot of to-do tools: from the OG Wunderlist (later Microsoft To Do) to GNOME Tasks & Trello, Notion, etc.
All of them marvelous, some of them abandoned, but none of them as simple as I wanted. Too many subtasks, links, categories and options. So I decided to build my own.
All I want was an app to pop up, write down a simple task and done. None of them has a small footprint to use it this way, nor fit perfectly my requirements.
✨ Do It is my solution. I just type a task, mark a project and hit Enter. Then I can edit, mark done or delete it whenever I want.
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
🖥️ This app is built to the GNOME Desktop Environment, with GTK4 and Adwaita.
- Offline-first
- Simple layout
- Distributed by Flatpak
- Built with Typescript
As an offline-first app, there is no synchronization features. Only import and export features are available.
I do plan to add synchronization features in the future, but probably as a paid feature. The core app will always be free and open source. Any paid features will be additional and optional, under a different license and agreement.
There is only one single focus: handle my tasks. The following actions are essential, assembling the application core:
- ✏️ Write down a task (and assing a project with
@project-name) - 🏷️ Automagically group by projects
- ✅ Mark as Done directly from thelist
- ✍️ Edit any property afterwards
- 🗑️ Or mark a task as deleted
- 🧹 Clean up and purge all deleted tasks
↕️ Sort your tasks with a range of options
This app does not have any tracking and/or analytics scripts. This means that the only way to give a feedback is contact author by using our Discussions threads.
You can give suggestions, ask for help and start usefull pools to the community. Before opening a bug is always welcome to search your problem in the Discussions first.
All your data is stored locally on your device. You can export and import your data (in JSON format) at any time. The task format follows the ITask interface, being:
| Property | Type | Description |
|---|---|---|
| id | number |
Task id |
| title | string |
Task title |
| created_at | number |
Task creation date, in milliseconds |
| project | string |
Task project |
| tags | string[] |
Task tags, if any, as in ['tag1', 'tag2'] |
| deleted | boolean |
Task deleted status |
| done | boolean |
Task done status |
The current roadmap to this application is available in the GitHub Project.
The issues and bugs can be reported in the Issues section.
- Node.js 18+
- Yarn
- Flatpak and flatpak-builder
- GNOME SDK
| Command | Description |
|---|---|
yarn dev |
Run app with watch mode |
yarn dev:install |
Compile and install locally |
yarn dev:export |
Compile and export Flatpak bundle |
yarn lint |
Run ESLint |
yarn format |
Check Prettier formatting |
yarn test |
Run tests |
For full scripts and flags, see CONTRIBUTING.md.
This repo uses a third-party ads-service. And you can sponsor this project using GitHub Sponsors.

