At Stream, we rely on open source to build our products and SDKs. In this article, we want to take the time to highlight some of our favorite projects and maintainers ❤️.
The key takeaway of this article is to support open source projects you rely on in any way you can. We can all play a part in our collective technological future by showing our appreciation and support for open source.
Open Source At Stream
A large part of the engineering work we do at Stream lives in the open. Our Chat and Feed SDKs are open source, and our clients and users are free to explore the code, submit pull requests and issues, or fork our SDKs and build something custom. We also encourage external contribution.
At Stream, we rely on the great work done by the community, and whenever possible, we try to give back - here are a few ways that we do this:
- Sponsorships
- Contributions to OSS projects in the form of pull requests, issues, and reviews
- Extracting features from our SDKs into isolated packages and repositories
- Curating learning resources and code samples
- Sharing our knowledge through events and supporting local developer communities.
In February 2021, we posted a similar article to this one. Since then, the projects we’ve sponsored have continued to grow.
We’ve also evolved our community efforts as a company. We've had the privilege to sponsor more community events and conferences, OSS packages and maintainers, and to encourage our developers to build their own projects. We’ve even created a dedicated developer YouTube channel where we talk about our SDKs and share our engineering knowledge.
Here are some of the open source projects that Stream is actively maintaining.
Android
Android-Developer-Roadmap (3,943 ⭐️)
The 2022 Android Developer Roadmap suggests learning paths to understanding Android development.
🔗 https://github.com/skydoves/android-developer-roadmap
AvatarView (367 ⭐️)
Supports loading profile images with fractional styles, shapes, borders, indicators, and initials for Android.
🔗 https://github.com/getStream/avatarview-android
Butterfly (194 ⭐️)
Butterfly helps you to build adaptive and responsive UIs for Android with Jetpack WindowManager.
🔗 https://github.com/GetStream/butterfly
Sketchbook-Compose (314 ⭐️)
Jetpack Compose canvas library that helps you draw paths, images on canvas with color pickers and palettes.
🔗 https://github.com/getStream/sketchbook-compose
iOS
MotionScape (⭐️112)
MotionScape is your animation playground as a developer. You can see all animations and their parameters in effect with beautifully designed and handcrafted animation examples.
🔗 https://github.com/GetStream/motionscape-app
Effects Library (⭐️115)
The Effects Library allows developers to create sophisticated and realistic particle systems such as snow, fire, rain, confetti, fireworks, and smoke with minimal effort.
🔗 https://github.com/GetStream/effects-library
Spring Animations Cheat Sheet (⭐️260)
This repository is your reference and complete guide for SwiftUI Spring Animations. It demonstrates use cases for the various types of spring animations and spring parameters. No more guessing the values of the parameters for spring animations you create for your next iOS app.
🔗 https://github.com/GetStream/swiftui-spring-animations
Stream SwiftUI animations (⭐️53)
Fine-grained iOS Animations Built With SwiftUI. This repository serves as a SwiftUI animation inspiration for your next app project. Each animation has the SwiftUI code accompanied. Contact @amos_gyamfi on Twitter for any issues or missing animation files.
🔗 https://github.com/GetStream/stream-swiftui-animations
Purposeful iOS Animations (⭐️7)
Examples of animations we found meaningful and useful on iOS. Each of the animations here was cloned with SwiftUI.
🔗 https://github.com/GetStream/purposeful-ios-animations
Projects Our Developers Maintain
Many of our engineers maintain or contribute to open-source libraries and packages. This section highlights some of the work done by people at Stream.
React
virtuoso (2.7k ⭐️) - by Petyo Ivanov
The most powerful virtual list/table component for React
🔗 https://github.com/petyosi/react-virtuoso
React-Native
React Native Testing (327 ⭐️) - by Steve Galili
This is how you should test your react-native components with Jest and React Native Testing Library
🔗 https://github.com/vanGalilea/react-native-testing
Flutter
Flutter Confetti (305 ⭐️, 736 👍) - by Gordon Hayes
A Flutter widget that shoots confetti all over the screen.
🔗 https://github.com/funwithflutter/flutter_confetti
🔗 https://pub.dev/packages/confetti
Awesome Flutter Snippets (135 ⭐️, 1mil downloads 💾) - by Neevash Ramdial
Awesome Flutter Snippets is a collection of snippets and shortcuts for commonly used Flutter functions and classes
🔗 https://github.com/Nash0x7E2/awesome-flutter-snippets
🔗 https://marketplace.visualstudio.com/items?itemName=Nash.awesome-flutter-snippets
Android
Balloon (2,640 ⭐️) - by Jaewoong Eum
Modernized and sophisticated tooltips, fully customizable with an arrow and animations for Android.
🔗 https://github.com/skydoves/Balloon
Used by: Paypal, Wikipedia, Wikimedia, WazirX, MyJio, PeduliLiundugi, and others.
400,000 downloads per month.
Landscapist (1,089 ⭐️) - by Jaewoong Eum
Jetpack Compose image loading library that fetches and displays network images with Glide, Coil, and Fresco
🔗 https://github.com/skydoves/landscapist
Used by: Twitter, Azar, Notion, Faire, and others.
150,000 downloads per month.
Pokedex (5,520 ⭐️) - by Jaewoong Eum
Pokedex demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.
🔗 https://github.com/skydoves/Pokedex
iOS
SwiftUI Animation Challenges (⭐️ 20 combined) - by Amos Gyamfi and Stefan Blos
Welcome to the SwiftUI Animation Challenge, where we hand out animation challenges that everyone can participate in and solve.
🔗 https://github.com/SwiftUI-Animation-Challenges
Clones and Samples
List of sample applications with tutorials, created and maintained by Stream.
Android
AvengersChat (266 ⭐️)
🔗 https://github.com/getStream/avengerschat
Stream-Draw-Android (271 ⭐️)
🔗 https://github.com/getStream/stream-draw-android
Stream-Slack-Clone-Android (327 ⭐️)
🔗 https://github.com/GetStream/stream-slack-clone-android
Flutter
Instagram Clone (47 ⭐️)
🔗 https://github.com/GetStream/flutter-instagram-clone
Chatter - Chat Application (48 ⭐️)
🔗 https://github.com/HayesGordon/chatter
Frame Clone (1 ⭐️)
🔗 https://github.com/GetStream/stream-frame
iOS
SwiftUI iMessage Clone (⭐️ 4)
🔗 https://github.com/GetStream/swiftui-iMessage-clone
SwiftUI iMessage UI Clone (⭐️ 12)
🔗 https://github.com/GetStream/SwiftUIMessagesUIClone
Projects We Sponsor
In our products, we rely on many open-source components. Whenever possible, we sponsor these projects and maintainers financially. Here are just a few of the people and projects we sponsor directly.
Rust
WebRTC.rs
A pure Rust implementation of WebRTC stack. Rewrite Pion WebRTC stack in Rust
Flutter
Bloc
A predictable state management library that helps implement the BLoC design pattern.
🔗 https://github.com/Felangel/bloc
Flutter WebRTC
WebRTC plugin for Flutter Mobile/Desktop/Web
🔗 https://github.com/flutter-webrtc/flutter-webrtc
Drift
Drift is a reactive persistence library for Flutter and Dart, built on top of SQLite.
🔗 https://github.com/simolus3/drift
Flutter Slidable
A Flutter implementation of slidable list item with directional slide actions that users can dismiss.
🔗 https://github.com/letsar/flutter_slidable
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles, and more.
🔗 https://github.com/Solido/awesome-flutter
React Native
GiftedChat
The most complete chat UI for React Native.
🔗 https://github.com/FaridSafi/react-native-gifted-chat
React Native MMKV
MMKV is an efficient, small mobile key-value storage framework developed by WeChat. See Tencent/MMKV for more information. A library that allows you to use MMKV inside your React Native applications easily. It provides fast and direct bindings to the native C++ library, which are accessible through a simple JS API.
🔗 https://github.com/mrousavy/react-native-mmkv
Android
RTMP-RTSP Stream Client for Java
Library for stream in RTMP and RTSP. All code in Java.
🔗 https://github.com/pedroSG94/rtmp-rtsp-stream-client-java
Pluck
Pluck is an image-picker for your jetpack compose project. You can select from Gallery/Camera. This uses Material you and will be getting support for it in the future as well.
🔗 https://github.com/hi-manshu/Pluck
Koin
A smart Kotlin injection library to keep you focused on your app, not on your tools
iOS
HaishinKit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
🔗 https://github.com/shogo4405/HaishinKit.swift
Swift Package Index
The Swift Package Index helps you make better decisions about the dependencies you use in your apps. The Swift Package Index is a search engine for packages that are compatible with the Swift Package Manager. The project is open-source and written in Swift using Vapor.
🔗 https://github.com/SwiftPackageIndex/SwiftPackageIndex-Server
Tuist
Tuist is a command line tool that helps you generate, maintain and interact with Xcode projects. It's open source and written in Swift.
Python
Django Rest Framework
Django REST framework is a powerful and flexible toolkit for building Web APIs.
🔗 https://www.django-rest-framework.org/
Other Projects and People
This section includes other projects and people that we directly sponsor.
Lottie
Lottie is a library for Android, iOS, Web, and Windows that parses Adobe After Effects animations exported as JSON with Bodymovin and renders them natively on mobile and on the web!
Rene Floor
🔗 https://github.com/renefloor
Sindre Sorhus
🔗 https://github.com/sindresorhus