Riff is a tool that helps groups analyze and visualize multiple streams of information.

What is Riff?

Riff helps your team separate signal from noise and collaborate over live data. With Riff it is very simple to start monitoring multiple sources of information, delete the “noise” and map, tag, and collaborate on what’s important. Riff’s analytics scans your data and suggests correlations and patterns that aren’t immediately obvious. Data is imported and exported in real time to keep systems integrated. 

How does Riff work?

Riff makes it easy to do collaborative analytics around streams of information.  You create your workspace, set the privacy level, and invite people to work on it. You then subscribe to multiple RSS, twitter, news, SMS, and email feeds and choose the collaboration, visualization, or analytics modules you need for your work.

Illustration of Riff's features

Riff consists of several high-level modules, including:

Data aggregation and gathering 

The data aggregation and gathering module allows users to collect (or extract, transform and load (ETL)) information from several sources (SMS messages (e.g., GeoChat), RSS feeds, email list (e.g., ProMED, Veratect, HealthMap, Biocaster, EpiSpider), OpenROSA, Map Sync, Epi Info, documents, web pages, electronic medical records (e.g., OpenMRS), animal disease data (e.g., OIE, AVRI hotline), environmental feed, NASA remote sensing, etc.). 

Automatic feature extraction, data classification and tagging

The automatic feature extraction, data classification and tagging module is an architecturally extensible module that allows the introduction of machine learning algorithms (e.g., Bayesian, SVM). These components extract and augment the features (tags or metadata) from multiple data streams, such as: source and target geo-location, time, route of transmission (e.g., person-to-person, waterborne), etc. In addition, these components help detect relationships between these extracted features within a collaborative space or across different collaborative spaces. Furthermore, with human input, these components can suggest possible events or event types (e.g., at the earliest stages of a disease outbreak: “there is an unknown respiratory event, transmitted person-to-person, detected in location X, and with a certain spatio-temporal pattern”).

Human input, hypotheses generation and review 

The human input and review module is exposed as a set of functionalities that allows users to comment, tag, and semantically rank the elements (positive, neutral, or negative). Additionally, users can generate and test multiple hypotheses in parallel, further collect and rank sets of related items (evidence), and model against baseline information (for cyclical or known events). The system maintains a list of ongoing possible threats allowing domain experts to focus their field information and either confirm or reject the hypotheses created. That feedback is then fed into the system to update (increase or decrease) the reliability of the sources and the credibility of the users in light of their inferences or decisions.

Predictions and alerts output, and

Field confirmation and feedback  


  • Create collaborative work spaces, invite colleagues, subscribe to data sources you choose to monitor.
  • Interact securely with your team to sift through the data stream for emerging events.
  • Annotate items with tags, comments, ratings, links, locations, files, alerts, and other social metadata.
  • Autonomous agents perform data fusion, feature extraction, classification, tagging, and geo-coding.
  • Integrated hypothesis formation, visualization, and machine learning.


  • Free and Open Source
  • Detect emerging critical events sooner and enable your team to take the right action earlier.
  • Allow human experts and autonomous agent-based analytic services to augment one another’s efforts.
  • Pattern detection algorithms learn from past events — and your team’s characterization of them — to improve performance the next time around.
  • Fully extensible open source solution allows you to incorporate your own data sources, services, and embedded modules. 

*note: You may see Riff referred to as “Evolve” in some of our older content and presentations. “Riff” stuck as a name; and both names refer to exactly the same tool.