Rivus: A Social Network Aggregator

Have you got a myriad of social network streams that your customers and friends find it difficult to navigate? Millions of social network junkies, just like you and me, have to switch between services such as Facebook, Twitter, Instagram and Medium to find information about one person or company. It can be pretty frustrating, not to mention time consuming.

What if I told you there was a better way? What if you could aggregate all of your social media streams into one complete social network?

This idea of a complete social network started when I was building my personal site https://jaredwray.com.

The website was initially set up with just my blog and then my Twitter stream. But I began to wonder why I was even bothering with that? I’m not just a blog or a few 140-character tweets, I’m a culmination of all my social networks.

Bottom line?

I decided to put all my social network streams into one place. I wanted to get rid of the mess and the fuss around displaying multiple services.

I built my site around one simple premise: when people come to my homepage they should see what is going on in my world, all in one place.

After launching my site, so many people asked me how I am doing this and what service I was using. To be honest, I didn’t realize it would be so popular and that others would want a single site that shows their complete social network.

So a module called Rivus was born. Today, I am releasing that Rivus module (https://riv.us) to help you do this for yourself.

Let’s get started…

Rivus is open source and is a JavaScript / Node module that connects to your social networks (or even RSS feed) and brings it all together for you.

Here are the features:

  • Single Feed
  • Built in Deduplication
  • Caching
  • Data Store
  • Callback and Promises Supported
  • Many Providers

It’s pretty easy to implement. The module will take all of your social networks and move them to a generic feed like so:

Writing the code:


Providers are built with a set of common interfaces so that they can be interchangeable. Each provider allows for the following:

  • ID: is required for every provider and it cannot be the same as another. This is done as a constant such as id = ‘providerID’
  • configuration / settings at the creation of the service var obj = new Provider(config); : each config can be located in the /config.json configuration file under the providers: array.
  • get(): get feed items get(count): This allows the module to get the feed items and display them with a normalized look and feel.

Here is a list of providers currently supported:

< PC 2 MAC Simple Advice to Make it Easier
Polish Your Company >