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.
- Multi-column Layout: TweetDeck-style interface for viewing different Nostr content
- Dave AI Assistant: AI-powered assistant that can search and analyze Nostr content
- Profile Management: View and edit Nostr profiles
- Media Support: View and upload images with GIF support
- Lightning Integration: Zap (tip) content creators with Bitcoin Lightning
- Cross-platform: Works on desktop (Linux, macOS, Windows) and Android
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
- Install Android Studio
- Open 'Device Manager' and create a device with API level
34
and ABIarm64-v8a
- Start the emulator
- Run:
cargo apk run --release -p notedeck_chrome
Customize Android views for testing:
- Copy
example-android-config.json
toandroid-config.json
- Run
make 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 ALPHA status. For the latest changes, see the CHANGELOG.
Contributions are welcome! Please check the developer documentation and follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
For security issues, please refer to our Security Policy.
This project is licensed under the GPL - see license information in individual crates.
- William Casarin [email protected]
- kernelkind [email protected]
- And contributors