Skip to content

Welcome to dust

Join our Telegram Group

dust is a local-first, synchronizable (coming soon) database and state management solution built for Flutter developers. It is developed while we are building a cross-platform handwriting note-taking app called dynote. dynote has not been open-sourced yet, but we aim to release its source code under GPLv3 when have some spare time. dust is built specifically to solve the frustrations that we faced when we were building dynote.

Supported Platforms: iOS, Android, MacOS, Linux, Windows

WARNING: what's shown in this documentation right now is not the API that dust is going to have. We are currently working on migrating dust to adopt a freezed-style API. Details of this work can be seen here. We expect this to be done by Feb 25, 2024.

Fearless Local First

(This slogan sounds like a Rust copycat, huh?)

When we were picking a database for dust, we could not find one that fitted our needs for building a productivity software. We want to provide local-first software targeting all the native flutter platforms as well as providing sync capabilities. This is not possible with other database solutions. We could not simply choose a local-first database without worrying about synchronization later on.

Error-free State Management

While we were building the app dynote, we had a lot of issues with State Management. They were always too "smart" for us, and often times we will have to work around their "smart" designs to trigger a rebuild. Further, we also need to make sure that the application state is in sync with the database state, which is very hard to do and and very prune to errors. We want to solve this issue as well. It also often is the case that we forget to subscribe to changes of a state -- wasting us precious time on debugging state related issues.