Andreas Klinger
Product Hunt
Leverage Stream to build the most engaging activity feed without worrying about the underlying storage technology. Advanced features such as aggregation, ranking, real-time and personalization enable your product team to optimize your app’s engagement and retention.
The Stream API just works – we appreciate the fact that we simply don’t have to worry about it. It’s simple for us to add new notifications & it scales with us. This gives us time to focus on other priorities.
Grow-fix your app without worrying about the scalability of your feed instructure. Feeds typically load in less than 20ms.
Building your feed with Stream can help you move faster, save substantial cost and benefit from Stream’s performance and scale.
24/7 phone support, dedicated slack channel, high availability, 99.95% uptime SLA, security & GDPR best practices
1 2 3 4 5 6 7 8 9 10 | // example 1 - starting point
chris.addActivity({
actor: 'chris',
verb: 'add',
object: 'picture:10',
message: 'Working on improving the user experience of the Stream Dashboard...'
});
me = client.feed('timeline', 'me');
me.follow('user', 'chris');
activities = me.get({limit: 10});
|
1 2 3 4 5 6 7 | // Store the 'like' and notify Chris
me.addActivity({
actor: 'me',
verb: 'like',
object: 'activity:10',
to: ['notification:chris']
});
|
1 2 | // Read an aggregated feed
aggregatedActivities = client.feed('aggregated', 'me').get({limit: 10});
|
1 2 3 | // Follow Minnie
me = client.feed('timeline', 'me');
me.follow('user', 'minnie');
|
1 2 | // Read a feed for the tag water
activities = client.feed('tag', 'water').get({limit: 10});
|
1 2 | // Read a user's activities
activities = client.feed('user', 'nancy').get({limit: 10});
|
1 2 | // A simple notification feed
notifications = client.feed('notification', 'nancy').get({limit: 10});
|



