// the find
GetStream/stream-chat-flutter
Flutter Chat SDK - Build your own chat app experience using Dart, Flutter and the Stream Chat Messaging API.
Stream's official Flutter chat SDK — a layered monorepo giving you everything from a raw API client up to drop-in UI widgets. Designed for teams that want a production-grade chat feature without building message delivery, offline sync, and read receipts from scratch. You're betting on Stream's backend, not just their open-source code.
The layered package architecture (stream_chat → stream_chat_flutter_core → stream_chat_flutter) is genuinely well-designed: you can eject from the UI layer while keeping the state/networking layer, which most SDKs don't allow cleanly. StreamComponentFactory as a single customization seam in V10 is the right call — previous widget-level builder slots were scattered and painful to override consistently. Golden tests for UI components are automated and checked in CI, which is more rigor than most Flutter UI libraries bother with. Drift-backed offline storage is a separate opt-in package, not baked in — good separation of concerns.
You're not really adopting open-source software here — you're adopting a SaaS dependency that happens to publish its client. The SDK is useless without a Stream account; pricing jumps hard past the hobby tier. The V10 migration is a breaking overhaul with renamed APIs, cross-platform alignment that breaks existing Dart idioms (naming things after iOS/Android counterparts is weird in a Dart codebase), and a migration guide that signals frequent churn. At 1053 stars for an official SDK from a well-funded company, organic community adoption is thin — mostly people on Stream contracts. No WebSocket reconnection or connection-state handling is visible at the open-source level; that logic lives in the closed backend.