With social voice platforms like Spotify, Clubhouse, and Twitter Spaces experiencing rapid growth, Resonate is here to harness the power of open-source for voice-based social media. Whether it's sharing immersive stories, engaging in dynamic live discussions, or connecting through pair chats and voice calls, Resonate is designed to put voice at the center of your social experience. By fostering innovation and growth, this project aims to reach new heights, continually expanding its features and community, all while staying true to the open-source spirit of collaboration and transparency.
- Live audio rooms — join real-time conversations, or create your own and moderate speakers.
- Scheduled rooms — publish a room ahead of time and notify subscribers when it goes live.
- In-room chat and polls — text alongside the audio, plus live polls with voter avatars.
- Stories — listen to and publish multi-chapter audio stories with synced lyrics, browse the catalogue, and follow creators for their next release.
- Pair chat — get matched with a random partner for a spontaneous one-to-one conversation.
- Friends and voice calls — add friends, see who's around, and call them directly.
- Activity status — online, do-not-disturb, in-room or invisible, so people know when you're reachable.
- Speaking indicators — live waveform rings around the avatar of whoever is talking.
- Six themes and ten languages — light and dark palettes, with the UI localised into English, Hindi, Bengali, Marathi, Gujarati, Kannada, Malayalam, Punjabi, Rajasthani and Tamil.
- Flutter — mobile application (Android and iOS)
- Appwrite — authentication, database, storage and cloud functions
- LiveKit — WebRTC real-time audio
- Riverpod — state management, in an MVVM feature-first architecture
- Appwrite Messaging — push notifications, delivered over MQTT
- Meilisearch — search (optional)
| Document | What it covers |
|---|---|
| ONBOARDING.md | Full development setup, including the backend |
| CONTRIBUTING.md | How to report issues, open PRs, and structure commits |
| MAINTAINERS.md | Who reviews and merges changes |
| AGENTS.md | Repository conventions for AI coding agents |
| TRANSLATIONS.md | Adding or improving a translation |
| brands/Brand.md | Logo, icons, colour palette and typography |
| SECURITY.md | Reporting a vulnerability |
| BestPracticesChecklist.md | OpenSSF best-practices self-assessment |
Resonate is a broad project that makes use of other software solutions like Appwrite and Livekit, starting up can be a little challenging.
We offer a guide for walking you through setting up the entire project, including a script that automates the set up of the backend environment for you. Please go through and strictly follow the Onboarding Guide for setting up the project for development and further contributions.
Once the backend is up, the client side is standard Flutter:
flutter pub get
dart run build_runner build --delete-conflicting-outputs # generated code
flutter run --dart-define=APPWRITE_BASE_DOMAIN=<your-host>Before opening a pull request:
flutter analyze # lints
dart run custom_lint # Riverpod lints — `flutter analyze` does not run these
flutter test # full test suite| Login Screen (Forest) | Home Screen (Time) | Create Room Screen (Time) |
|---|---|---|
![]() |
![]() |
![]() |
| Room Screen (Cream) | Profile Screen (Amber) | Explore Story (Forest) |
|---|---|---|
![]() |
![]() |
![]() |
| Explore Story (Amber) | Theme Screen (Vintage) | Upcoming Room Screen (Cream) |
|---|---|---|
![]() |
![]() |
![]() |
⭐ Don't forget to star this repository if you find it useful! ⭐
Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. (Please contribute to the dev branch.) To ensure smooth collaboration, refer to the Contribution Guidelines(https://github.com/AOSSIE-Org/Resonate/blob/master/CONTRIBUTING.md).
We appreciate your contributions and look forward to working with you to make this project even better!
By following these guidelines, we can maintain a productive and collaborative open-source environment. Thank you for your support!
See MAINTAINERS.md for what maintainers do and how to get a review.
If you have any questions, need clarifications, or want to discuss ideas, feel free to reach out through the following channels:
Distributed under the GNU General Public License. See LICENSE for more information.
Thanks a lot for spending your time helping Resonate grow. Keep rocking 🥂











