Skip to content

DaccordProject/daccord

Repository files navigation

Daccord — Flutter Client

Communication without compromise.

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.

License: GPLv3 Built with Flutter Platforms Status: early development

⚠️ Early development. Daccord is moving fast and things may change. Expect rough edges — and help us file them down.


Why Daccord?

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.


✨ Features

  • 💬 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.

📦 Platforms

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/).


🚀 Getting started

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.

  1. Open the app.

  2. Click the + in the server bar on the left.

  3. Enter a server address — including your channel and token — like this:

    chat.example.com#general?token=your-token
    
  4. That's it — you're in. 🎉

You can add as many servers as you like.

Don't have a server yet?

Run your own. AccordServer is the open-source, Rust-powered backend that powers every Daccord community — your infrastructure, your rules.

➡️ github.com/DaccordProject/accordserver


🧱 How it's built

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.

Tech stack

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*)

Domain model

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

🛠️ Building from source

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 browser

build_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 -d

Lint & test

flutter analyze --no-fatal-infos       # --no-fatal-infos keeps inherited Bonfire-style infos non-fatal
flutter test                           # unit/widget tests (voice/settings/server logic)

Release builds

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-codesign

❓ FAQ

Is 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.


🤝 Be part of it

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 -d after 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-infos and flutter test before opening a PR.

Related repositories

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.


📄 License

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.

About

A free, open-source chat app for communities.

Resources

License

Stars

7 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors