A simple and easy to use Todo app complete with Material 3 design and support for its dynamic colors as well as Nextcloud integration! https://doable.at
Go to file
Florian Obernberger db0886e45a
Fix lists not being synced when initializing
2023-09-24 23:37:48 +02:00
.gitea/issue_template Update bug template 2023-09-04 12:24:47 +02:00
android Remove calendar permissions since they are unused 2023-08-12 18:17:11 +02:00
assets Add two new images 2023-09-22 22:11:31 +02:00
fonts Add fonts! :D 2023-08-11 23:26:21 +02:00
google_fonts Add noto as font fallback to all fonts and fix #53 2023-09-24 21:21:26 +02:00
l10n Translated using Weblate (Ukrainian) 2023-09-24 20:04:11 +00:00
lib Fix lists not being synced when initializing 2023-09-24 23:37:48 +02:00
linux Use customized sharing implementation and fix #29 2023-04-10 20:07:22 +02:00
metadata Bump version and add changelogs 2023-09-22 22:14:43 +02:00
packages Remove package since i only needed one function 2023-02-15 23:14:22 +01:00
test Add two new images 2023-09-22 22:11:31 +02:00
windows Use customized sharing implementation and fix #29 2023-04-10 20:07:22 +02:00
.gitignore Remove dead code 2023-08-09 23:50:36 +02:00
.metadata Intial commit 2022-10-20 12:26:06 +02:00
CONTRIBUTORS Add @SomeTr to contributors 2023-09-24 22:05:55 +02:00
LICENSE Update year 2023-03-03 17:09:28 +00:00
Makefile Update Makefile 2023-04-21 01:22:26 +02:00
README.md Didn't work 2023-08-30 18:45:57 +02:00
analysis_options.yaml Format and remove unused code / replace deprecated apis 2023-06-17 18:42:02 +02:00
checker.py Create version code checker 2023-04-20 17:50:24 +02:00
flutter_launcher_icons.yaml Updated android app icon and splash screen 2022-10-23 00:31:24 +02:00
flutter_native_splash.yaml Updated splash screen to match new color scheme 2022-10-23 10:51:40 +02:00
font_licenses.json Add noto as font fallback to all fonts and fix #53 2023-09-24 21:21:26 +02:00
l10n.yaml Moved strings to inside the lib folder 2022-10-23 13:21:32 +02:00
pubspec.lock Update dependencies 2023-09-24 21:59:07 +02:00
pubspec.yaml Update dependencies 2023-09-24 21:59:07 +02:00
spider.yaml Add image assets 2023-08-01 01:43:15 +02:00


Logo of Doable


Follow Doable on https://floss.social/@doable Translation status License F-Droid version IzzyOnDroid version

At its core Doable is a modern and easy to use Todo app.

It features a beautiful design that follows the latest Material 3 guidelines, a simple user interface that allows you to manage your tasks with ease and last but not least a seamless integration with Nextcloud.

When you open Doable for the first time you might be mistaken to think that it lacks some features you might've been hoping for like separate lists. But fear not! Doable does indeed support such things! The are just not enabled by default. To enable lists and other amazing features check out the "Extensions" section in Doable's settings!

Doable also supports integration with Nextcloud which allows you to backup and synchronize your tasks across multiple devices or just keep a handy backup of them in case something goes wrong. Simple log in to your Nextcloud account and boom! Your Todos will now be synchronized automatically. (You can also use any other backup server that supports the WebDAV interface.)


  • Design and interface

    Doable features a simple yet powerful interface in a beautiful design that closely follows Androids Material 3 guidelines.

  • Settings and customization

    You can customize many aspects of Doable including

    • How tasks will be sorted
    • The colors of the app
    • How to handle certain cases as tasks being overdue or being due today
    • ...
  • Extensions

    Doable allows you to further customize your experience by enabling certain extensions. Extensions can change the behavior of the app and allow you to user features that are not included out of the box. The current extensions consist of the following:

    • Todo search: This extension adds a search button to the overview that allows you to search for a specific Todo.
    • Lists: As the name suggests this adds list support to Doable. Want to separate your work and personal tasks? Simply create different lists for them!
    • Markdown: This is one is also fairly straight forward: Enable this extension and you will be able to use (basic) Markdown inside the title and description of your Todos!
  • Nextcloud integration

    You can log into your Nextcloud account to automatically synchronize your tasks across devices.

Introduction to the app Adding a new task A task being selected Detail view of a task with Markdown
Introduction to the app Adding a new task A task being selected Detail view of a task with Markdown
Adding a due date and time to a task Creating a new list Adding a task to an already existing list Selecting which list a task belongs to
Adding a due date and time to a task Creating a new list Adding a task to an already existing list Selecting which list a task belongs to


From a release

You can simply download the latest release apk from the releases page and install it! You might have to go into the settings and allow installing apps from an external source tho.


To install this app via F-Droid simply add my repository to the app and search for "Doable"!

You can find the repository here.

Build it yourself

Since this is open and free software you can also just compile the program yourself! To do that you simply need to be on the latest flutter master branch or any other branch, assuming it includes all the features used here.

You can switch the channel flutter uses with the following two commands.

flutter channel master
flutter upgrade

After that you can simply run flutter build apk to generate an apk ready to be installed on your phone.

Be careful if you choose the main branch for compiling your apk, be aware that the app name and its android id will be different from the ones you would get from the stable branch. Since I use the main as my default branch and to test my app, I changed the app name / label to "Doable DEBUG" and the id to at.flobii.doable_debug. If you want to change those, either compile from the stable branch or simply change them. Below you can find a table detailing what needs to be changed.

File: line(s) What you need to change
android/app/build.gradle: 53 at.flobii.doable_debugat.flobii.doable
android/app/src/main/AndroidManifest.xml: 1, 20 at.flobii.doable_debugat.flobii.doable, "Doable DEBUG" → "Doable"
android/app/src/debug/AndroidManifest.xml: 1 at.flobii.doable_debugat.flobii.doable
android/app/src/profile/AndroidManifest.xml: 1 at.flobii.doable_debugat.flobii.doable
android/app/src/main/kotlin/at/flobii/doable/MainActivity.kt: 1 at.flobii.doable_debugat.flobii.doable

Besides the name changes you should also consider updating the version name and code in the pubspec.yaml file, since those are also only changed on the stable branch.


You want to contribute to Doable? Great! You don't know how you can help? Well, here are your options!

Create an issue

The simplest way to support and help Doable is by creating an issue whenever you have an idea / feature request or you want to provide feedback or maybe you've found a bug / problem!


If you speak a language Doable is not yet translated into you can help by translating it! Simply follow this link to Doable's Weblate page to find out more!

Translation status

Translation status

Pull requests

PRs are also appreciated! If you do make one, please provide a description why this PR is necessary so that I can understand its purpose quicker! And thanks in advance for spending your time on contributing!


The CONTRIBUTORS file features a (hopefully) complete list of all the people that contributed to Doable. If you feel like you should be included you can either:

  • Open an issue
  • Make a PR
  • Write me a message on Doable's Mastodon account