r/Kotlin
I spent already much time building Sparrow — a decentralized, E2E-encrypted messenger using KMP, Compose Multiplatform, and a federated Ktor stack. Looking for architecture review and feedback

Hey everyone!

I'm an Android developer with over 12 years of experience, and I've been working on a personal project called Sparrow — a privacy-focused messenger built with Kotlin Multiplatform and Compose Multiplatform.

The idea behind Sparrow is simple: What if messaging didn't have to depend on a single company controlling the entire infrastructure?

Instead of building another centralized chat app, I wanted to explore a decentralized architecture using a 100% Kotlin ecosystem on both the client and the server side.

What Sparrow offers:

• 📱 Kotlin Multiplatform architecture (Android as the usable target, iOS planned)
• 🎨 Declarative UI built with Compose Multiplatform & Material 3
• 🏗️ Structured DI via Koin and durable client storage via Room + SQLite
• 🌐 Federated, independently hostable transport network powered by a Ktor server stack
• 🔐 End-to-end encryption using libsodium (X25519, Ed25519, ChaCha20-Poly1305)
• 💬 Private and group conversations with extensive feature sets (polls, shared expenses, link previews)
• 🔑 Identity verification using QR codes and safety numbers
A little about the architecture:

The architecture is highly modularized. Every conversation write and incoming packet runs as a dedicated state machine through our :feature:conversationorchestration modules, separating business logic completely from the UI layer (Chats only reads data and submits commands).

The project separates infrastructure into Directory services, Control Planes, and Community Nodes to prevent single points of failure.

Why am I posting here?

I've spent a lot of time designing and implementing Sparrow, but building something alone has its limitations. As a fellow Kotlin developer, I would highly value a rigorous review of my code structure and architecture choices.

I'm now looking for people who are interested in:

• Reviewing the KMP structure and the conversation orchestration state machine
• Downloading and testing the Android build
• Reviewing the Ktor backend integration and federation queues
• Reporting bugs and suggesting architectural improvements
Sparrow is currently proprietary, but the source code is available for inspection, building, and non-commercial evaluation. It's not being presented as an open-source project.

I'm not claiming Sparrow is ready to replace Signal. It's an independent project with plenty of room to improve. I'd genuinely appreciate constructive criticism, especially from developers who have worked on messaging systems, clean architectures, or distributed systems.

🔗 GitHub: cbgm/Sparrow (https://github.com/cbgm/Sparrow)

Medium Series getting updated by time: Sparrow: Private Conversations, on Infrastructure You Can Host (Part 1) | by Christian Bergmann | Oct, 2026 | Medium (https://medium.com/@c85bergmann/sparrow-private-conversations-on-infrastructure-you-can-host-part-1-40817ba913c6)

What do you think? How does this stack up as a real-world example of what a full-stack Kotlin ecosystem can achieve?

— u/didyouseethegoeffel
I spent already much time building Sparrow — a decentralized, E2E-encrypted messenger using KMP, Compose Multiplatform, Источник: reddit.com ↗

Комментарии

Комментариев пока нет.

Ответить можно в O2.