Daccord is the free, open-source alternative to Discord — chat, voice, and video with native apps you control. This repository is the Flutter client: a fast, beautiful, cross-platform app that talks to your server, not someone else's cloud.
No ads. No tracking. No corporate lock-in. Your server, your data, your rules.
⚠️ Early development. Daccord is moving fast and things may change. Expect rough edges — and help us file them down.
Discord is great until it isn't — until your community gets the wrong end of a moderation bot, until features you relied on disappear behind a paywall, until you realize none of it is actually yours.
Daccord flips the model. The people who show up are what make a community — not the platform that hosts it.
- 🔒 Your data, your rules. No ads, no tracking, no corporate lock-in. Privacy without invasive measures like forced identity exposure or unnecessary data collection.
- 🏠 Self-hosted by design. Don't just join a server — run your own. Keep full control of your data, accounts, and voice traffic. Nothing passes through us.
- 🆓 Free and open source. GPLv3-licensed and community-driven, with nothing locked behind a paywall.
- 🌍 Native on every platform. Lightweight, fast, and built with Flutter, with a responsive UI that adapts from phone to desktop.
This client is the front door: one native app for every screen you own.
- 💬 Real-time messaging — send, edit, delete, and reply over WebSocket, across channels and DMs. Updates that feel alive.
- 🌐 Multi-server — connect to many Daccord servers at once and switch between them seamlessly. Your work crew and your gaming crew, side by side.
- 😀 Emoji — full unicode support plus custom server emoji, all behind a slick built-in picker.
- 🎙️ Voice, video & screen sharing — crystal-clear calls powered by LiveKit/WebRTC, with camera and screen share built right in.
- 🛡️ Server admin tools — manage channels, roles, bans, invites, and custom emoji without ever leaving the app.
- 📱 Responsive everywhere — one UI that flows from phone to desktop, sharp at every size.
- 🌙 Dark theme — easy on the eyes, right out of the box.
Native apps for every major platform:
| Android | iOS | Windows | macOS | Linux | Web |
|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
All platform targets are present in the repository (android/, ios/, windows/, macos/, linux/, web/).
Daccord connects only to Daccord/Accord servers — there is no Discord integration of any kind. You don't sign in to a central service; you connect directly to a server.
-
Open the app.
-
Click the
+in the server bar on the left. -
Enter a server address — including your channel and token — like this:
chat.example.com#general?token=your-token -
That's it — you're in. 🎉
You can add as many servers as you like.
Run your own. AccordServer is the open-source, Rust-powered backend that powers every Daccord community — your infrastructure, your rules.
➡️ github.com/DaccordProject/accordserver
Daccord stands on the shoulders of giants. It's a fork of Bonfire — a mature, fast, cross-platform Discord client written in Flutter. We reuse Bonfire's polished UI, theming, routing, and caching, and replace its Discord networking layer entirely with the Accord protocol via accordkit-dart.
The result: Bonfire's battle-tested experience, pointed at a platform that's actually free and open. It aims for feature parity with the Godot-based reference client, daccord.
A thin repository layer subscribes to Accord gateway streams, updates a local cache, and exposes Riverpod providers to the UI.
| Concern | Choice | Notes |
|---|---|---|
| Language / framework | Dart / Flutter | |
| State management | Riverpod 3 | flutter_riverpod + riverpod_annotation codegen (*.g.dart) |
| Routing | go_router |
|
| Local storage | hive_ce |
boxes: auth, last-location, added-accounts, accord-session, accord-settings |
| Networking | accordkit |
Accord protocol SDK — REST + gateway WebSocket + models. Vendored in-tree at packages/accordkit |
| Voice / video / screen share | livekit_client |
local fork at packages/livekit_client, over WebRTC |
| Media | media_kit / cached_network_image |
CDN URLs point at the Accord server |
| Markdown | markdown_viewer |
custom renderer at packages/markdown_viewer |
| Serialization | json_serializable |
model types mostly come from accordkit (Accord*) |
Accord uses similar-but-distinct vocabulary from Discord:
| Term | accordkit type | Meaning |
|---|---|---|
| Space | AccordSpace |
a server / community |
| Channel | AccordChannel |
text, voice, forum, or category |
| Message | AccordMessage |
|
| Member | AccordMember |
a user within a space |
| User | AccordUser |
|
| Role | AccordRole |
You'll need the Flutter SDK installed.
flutter pub get
dart run build_runner watch -d # keep running during dev (Riverpod / JSON codegen)
flutter run # run on a connected device, emulator, or browserbuild_runner watch -d regenerates *.g.dart files. Keep it running while developing, or run a one-shot build after editing any @riverpod / json_serializable-annotated file:
dart run build_runner build -dflutter analyze --no-fatal-infos # --no-fatal-infos keeps inherited Bonfire-style infos non-fatal
flutter test # unit/widget tests (voice/settings/server logic)flutter build apk --no-tree-shake-icons # Android
flutter build web --no-tree-shake-icons --release # Web
flutter build windows
flutter build macos
flutter build linux # needs libmpv / media_kit deps
flutter build ios --release --no-tree-shake-icons --no-codesignIs Daccord really free? Yes — completely free and open source under the GPLv3. Nothing is locked behind a paywall.
Does Daccord connect to Discord? No. This client talks only to Daccord/Accord servers. There is no Discord integration — none of your data goes to Discord, and the app never connects to Discord's services.
Where is my data stored? On whichever Accord server you connect to — including one you host yourself. Nothing passes through us.
Do I need to run a server to use Daccord? No — you can join any Accord server you have an address and token for. But hosting your own gives you full control. See Don't have a server yet?
Which platforms are supported? Android, iOS, Windows, macOS, Linux, and the Web.
This only works if we do it together.
Daccord grows because people like you show up. It's open source and community-driven — every contribution, bug report, and pull request makes it better for everyone.
- 🐛 Report bugs — open an issue and help us improve.
- 💻 Contribute code — pull requests are welcome.
- 🚀 Launch a server — host your own AccordServer and grow a community.
If you're contributing code, a few house rules keep this a port rather than a rewrite:
- Keep changes minimal and reuse-first — prefer adapting existing Bonfire widgets, controllers, routing, and theming.
- Keep new code inside the relevant
lib/features/<feature>/module and match the surrounding style. - Run
dart run build_runner build -dafter touching any@riverpod/json_serializable-annotated file. - No Discord. Don't reintroduce Discord endpoints, branding, or Firebase push. This client talks only to Accord servers.
- Run
flutter analyze --no-fatal-infosandflutter testbefore opening a PR.
| Repo | What it is | Language | License |
|---|---|---|---|
| this repo | Flutter client (what you ship) | Dart / Flutter | GPL-3.0 |
accordkit-dart |
Accord protocol SDK (networking layer) | Dart | MIT |
accordserver |
Accord server backend | Rust | — |
daccord |
Godot reference client (feature/UX reference) | GDScript | MIT |
accordkit, livekit_client, and markdown_viewer are vendored in-tree under packages/ and maintained in this repository.
Licensed under the GNU General Public License v3.0 (GPLv3), inherited from Bonfire. AccordKit-Dart and the Godot reference client are MIT-licensed; GPLv3 may incorporate MIT-licensed code, so depending on accordkit is fine.