A modern, multiplatform Nostr client built with Rust. Notedeck provides a feature-rich experience for interacting with the Nostr protocol on both desktop and Android platforms.

Notedeck runs smoothly on Android devices with a responsive interface:

notedeck
├── crates
│ ├── notedeck - Core library with shared functionality
│ ├── notedeck_chrome - UI container and navigation framework
│ ├── notedeck_columns - TweetDeck-style column interface
│ ├── notedeck_dave - AI assistant for Nostr
│ ├── notedeck_ui - Shared UI components
│ └── tokenator - String token parsing library
To run on desktop platforms:
# Development build
cargo run -- --debug
# Release build
cargo run --release
For Android devices:
# Install required target
rustup target add aarch64-linux-android
# Build and install on connected device
cargo apk run --release -p notedeck_chrome
34 and ABI arm64-v8acargo apk run --release -p notedeck_chromeCustomize Android views for testing:
example-android-config.json to android-config.jsonmake push-android-config to deploy to your device./scripts/dev_setup.sh
This adds pre-commit hooks for proper code formatting.
Detailed developer documentation is available in each crate:
Notedeck is currently in BETA status. For the latest changes, see the CHANGELOG.
Notedeck allows for app development built on top of the performant, built specifically for nostr database nostrdb. An example app written on notedeck is Dave
Building on notedeck dev documentation is also on the roadmap.
Contributions are welcome! Please check the developer documentation and follow these guidelines:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Help us bring Notedeck to non-English speakers!
Request to join the Notedeck translations team through Crowdin.
If you do not have a Crowdin account, sign up for one. If you do not see your language, please request it in Crowdin.
For security issues, please refer to our Security Policy.
This project is licensed under the GPL - see license information in individual crates.
$ claude mcp add notedeck \
-- python -m otcore.mcp_server <graph>