// the find
GetStream/stream-chat-react
React Chat SDK ➜ Stream Chat 💬
Official React component library for Stream's managed chat service. Gives you a full chat UI (message list, thread, channel list, composer, reactions, attachments) wired up to Stream's WebSocket backend. You're renting Stream's infrastructure — this SDK is the UI skin on top of their API.
Provider/consumer architecture with `WithComponents` overrides is genuinely well-designed — you can swap any UI component without touching the logic layer. CSS layers (`@layer stream, stream-overrides`) for style overriding is the right call and avoids specificity wars. TypeScript throughout with proper generic channel type extension via declaration merging (`stream-chat-custom-data.d.ts`). Extensive example apps covering livestream, customer support, and messaging patterns — not just a hello-world tutorial.
You're locked into Stream's paid backend from day one — there's no self-hosted option, no adapter interface, and the entire component tree assumes Stream's data models. The free tier caps at 5 team members and $10k MRR, so any real product hits the billing wall fast. Bundle size is a real concern: the full SDK pulls in audio recording (with a runtime-imported lamejs), image processing, and reactions — you're shipping a lot even if you only need basic messaging. Test coverage is unclear from outside; 838 stars for an 'official' SDK is surprisingly low, suggesting it's mainly used by Stream's direct customers rather than having broad community adoption.