A small, modern TODO app written in Rust, WebView and SQLite for local use, in less than 4mb!
No need to install 50gb of tools, and can be ported everywhere

wry webview inside a winit windowrusqlite (bundled — no system dependency)cargo run # debug
cargo build --release # optimized, self-contained binary
The UI is embedded into the binary, so the executable is fully self-contained.
The database file (todo.db) lives outside the app, next to it, so the
app and the db are the only two files you need to move:
# plain binary — db next to the executable
cp target/release/todo-rust ~/Desktop/Todo/
~/Desktop/Todo/todo-rust # creates ~/Desktop/Todo/todo.db
# macOS app bundle — db next to the .app
cp -R Todo.app ~/Desktop/Todo/
open ~/Desktop/Todo/Todo.app # creates ~/Desktop/Todo/todo.db
In debug builds the binary lives in
target/debug/, so the db lands there too. Use a release build for a portable copy.For a bundle installed somewhere not writable (e.g.
/Applications), the app falls back to~/Library/Application Support/Todo/todo.db. Packaging the bundle is covered inmake-app.md.
| Action | How |
|---|---|
| Add task | Type and press Enter, or click the + button |
| Complete / undo | Click the circle on the left of a task |
| Delete | Click the trash icon (appears on hover) |
| Filter | All / Active / Done tabs |
| Clear completed | Footer button |
| Theme | Sun/moon button in the header |
| Focus input | Press / |
Built with ♥️ by DeepSeek
6 commits
Rust
54.2%
HTML
45.8%
A small, modern TODO app written in Rust, WebView and SQLite for local use, in less than 4mb!
No need to install 50gb of tools, and can be ported everywhere

wry webview inside a winit windowrusqlite (bundled — no system dependency)cargo run # debug
cargo build --release # optimized, self-contained binary
The UI is embedded into the binary, so the executable is fully self-contained.
The database file (todo.db) lives outside the app, next to it, so the
app and the db are the only two files you need to move:
# plain binary — db next to the executable
cp target/release/todo-rust ~/Desktop/Todo/
~/Desktop/Todo/todo-rust # creates ~/Desktop/Todo/todo.db
# macOS app bundle — db next to the .app
cp -R Todo.app ~/Desktop/Todo/
open ~/Desktop/Todo/Todo.app # creates ~/Desktop/Todo/todo.db
In debug builds the binary lives in
target/debug/, so the db lands there too. Use a release build for a portable copy.For a bundle installed somewhere not writable (e.g.
/Applications), the app falls back to~/Library/Application Support/Todo/todo.db. Packaging the bundle is covered inmake-app.md.
| Action | How |
|---|---|
| Add task | Type and press Enter, or click the + button |
| Complete / undo | Click the circle on the left of a task |
| Delete | Click the trash icon (appears on hover) |
| Filter | All / Active / Done tabs |
| Clear completed | Footer button |
| Theme | Sun/moon button in the header |
| Focus input | Press / |
Built with ♥️ by DeepSeek
6 commits
Rust
54.2%
HTML
45.8%