Stream logo
Build scalable feeds, activity streams & chat in a few hours instead of months.
104
99
8

What is Stream?

Stream allows you to build scalable feeds, activity streams, and chat. Stream’s simple, yet powerful API’s and SDKs are used by some of the largest and most popular applications for feeds and chat. SDKs available for most popular languages.
Stream is a tool in the Activity Feeds as a Service category of a tech stack.

Who uses Stream?

Companies
36 companies reportedly use Stream in their tech stacks, including StackShare, Product Hunt, and The Techstars Stack.

Developers
55 developers on StackShare have stated that they use Stream.

Stream Integrations

Parse, Heroku, Ruby, Rails, and PHP are some of the popular tools that integrate with Stream. Here's a list of all 14 tools that integrate with Stream.

Why developers like Stream?

Here’s a list of reasons why companies and developers use Stream
Stream Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Stream in their tech stack.

Nick Parsons
Nick Parsons
DeveloperEvangelist at Stream · | 29 upvotes · 65.6K views
atStreamStream
Go
Stream
Python
Yarn
Babel
Node.js
ES6
JavaScript
#Languages
#FrameworksFullStack

Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

#FrameworksFullStack #Languages

See more
Vishal Narkhede
Vishal Narkhede
Javascript Developer at getStream.io · | 19 upvotes · 23.6K views
atStreamStream
Babel
styled-components
Expo
JavaScript
Chat by Stream
React Native
Stream

Recently, the team at Stream published a React Native SDK for our new Chat by Stream product. React Native brings the power of JavaScript to the world of mobile development, making it easy to develop apps for multiple platforms. We decided to publish two different endpoints for the SDK – Expo and React Native (non-expo), to avoid the hurdle and setup of using the Expo library in React Native only projects on the consumer side.

The capability of style customization is one a large deal breaker for frontend SDKs. To solve this, we decided to use styled-components in our SDK, which makes it easy to add support for themes on top of our existing components. This practice reduces the maintenance effort for stylings of custom components and keeps the overall codebase clean.

For module bundling, we decided to go with Rollup.js instead of Webpack due to its simplicity and performance in the area of library/module providers. We are using Babel for transpiling code, enabling our team to use JavaScript's next-generation features. Additionally, we are using the React Styleguidist component documentation, which makes documenting the React Native code a breeze.

See more
Tim Specht
Tim Specht
‎Co-Founder and CTO at Dubsmash · | 10 upvotes · 2K views
atDubsmashDubsmash
Stream
#ActivityFeedsAsAService

Dubsmash's very small engineering team has always made a point to spend its resources on solving product questions rather than managing & running underlying infrastructure.

We recently started using Stream for building activity feeds in various forms and shapes. Using Stream we are able to rapidly iterate on features like newsfeeds, trending feeds and more while making sure everything runs smooth and snappy in the background. With their advanced ranking algorithms and their recent transition from Python to Go, we are able to change our feeds ranking on the fly and gauge user impact immediately!

#ActivityFeedsAsAService

See more
Nick Parsons
Nick Parsons
DeveloperEvangelist at Stream · | 4 upvotes · 3K views
atStreamStream
Stream

Here at Stream, we recently build a powerful CLI to support our Feeds & Chat products. In doing so, we learned a lot about best practices when crafting a positive developer experience in the command line. Quick findings:

  • JavaScript is more powerful than you think. Tap into the massive ecosystem and a large number of open-source projects.

  • For inspiration, look at the functionality that Zeit and Heroku provide within their CLI to make for an awesome developer command line “experience”.

  • If your API/CLI requires data persistence, store that data in a cache directory that is specific to your CLI. Load this using a util file as we do at Stream. Also, note that the fs-extra package will come in handy for this type of thing (even though support is built into Oclif).

  • Oclif is the way to go, especially if you’re building a large CLI, as opposed to a single-command CLI. If you’re building a single-command CLI you can still use Oclif, just make sure to specify that it’s a single-command API when you’re scaffolding your CLI.

  • Don’t want to use a framework? That’s okay! The package minimist provides argument parsing in the command line and can easily be used within your project.

  • Use prompts, when you can, with enquirer or another package of your choosing. Users should be walked through the requirements of the command and asked for the data the command needs in order to execute properly. Note that this should never be required (e.g. let the user bypass the prompt if they pass the correct arguments).

  • Use colors when possible to make your CLI a little easier on the eye. Chalk serves as a great tool for this. If you have response data that is well enough structured, don’t just print it out to the user (unless that’s what they specify). Instead, drop it in a table using

  • Always allow the user to specify the output type (e.g. JSON), but default to a message that is human-readable.

  • Keep it fast! For time-consuming tasks such as file uploads or commands that require multiple API calls, we recommend showing a loading indicator to let the user know that work is being done in the background. If you’re looking for a package on npm, we recommend checking out ora.

The full blog post can be found here: https://medium.com/@nparsons08/crafting-a-command-line-experience-that-developers-love-68657b20c28d

See more
Josh Frye
Josh Frye
Senior Software Engineer at StackShare · | 3 upvotes · 3K views
atStackShareStackShare
Ruby
Stream
#StackDecisionsLaunch

We use Stream to power our feed and decisions products. We hook into their api using supplied Ruby SDKs that send records to their system when we create or update them. Their personalization feature allows us to tailor the feed experience for each user based on individual interests and engagement. #StackDecisionsLaunch

See more
Vamsee Voleti
Vamsee Voleti
Product Manager at StackShare · | 2 upvotes · 2.4K views
atStackShareStackShare
Stream
#ActivityFeedsAsAService

As we strive to show fresh, popular and relevant content to our users, one of the problems we faced when developing Stack Decisions was to show a feed with more than one activity type. We show Decisions, News Articles, and Stories on our feed and composing them in a single feed proved to be a challenge.

We solved this problem using Stream's personalization feature to build a scalable activity feed. As the parameters that determine popularity vary for different activity types, Stream helped us normalize the popularity scores and aggregate the feed.

#ActivityFeedsAsAService

See more

Stream's Features

  • Activity, Notification & Personalized Feeds
  • Real-Time Chat
  • Multi-Region Support
  • High Availability
  • SDKs & Components

Stream Alternatives & Comparisons

What are some alternatives to Stream?
No alternatives found
Related Comparisons
No related comparisons found

Stream's Followers
99 developers follow Stream to keep up with related blogs and decisions.
Muhammet Dilek
Nishchit Dhanani
Myles Braithwaite
Thomas Coville
André Eduardo Pérez Álvarez
Vineet M
Ala Mohammad
Muhammad Paryal Sanai
Eugene Oskin
canbarisjones