Software Architect / Microsoft MVP (AI) and Technical Author

Ads API, AdTech, Analytics and Big Data, ASP.NET Core, Bot Framework, C#, MVP, Twitter

Visualising Twitter Labs Filtered Stream Data with the Social Opinion Web App

In my last post, I shared how the Social Opinion API can be used to extra real-time data from the Twitter Labs Filtered Stream firehose.

With less than 5 lines of code, you can process over 1,200 Tweets every 5 minutes and surface a whole range of actionable insights.

In this blog post, I follow on from the last and share some screenshots of dashboards and visualisations I’ve built using ASP.NET Core that let you:

  • Create Rules (to extract Tweets with powerful querying operators)
  • View existing Rules you have created
  • See at-a-glance, an overview of all key metrics
  • Drill down into the detail of the data being processed by the Social Opinion API

Let’s look at these screens now.

Creating a new Rule

This screen lets you create up to 10 Rules. You give your Rule a tag (description) and input a Rule value (the data to find):

Viewing Existing Rules

You can view all your previously create Rules in this screen. Clicking the Details link takes you to a Dashboard that contains data specific to that Rule.


This screen lets you amend the various settings that are used by the Social Opinion API service. It also contains some diagnostics and error logging information. You can also enable or disable the service here:


The main dashboard screen consists of several sections contain various pieces of information related to data your Rules process.


The Overview section contains some basic information.  Here you get a quick view of:

  • The number of Rules you have setup
  • The number of Tweets that have been processed by all Rules
  • The user id of the person that sent the most Tweets (and the number of Tweets)
  • Tweets that received the Most Likes, Comments and Retweets

Future updates will detail the metrics for each Rule.


This collection of tiles gives you a quick insight into the main data-points being collected by the Social Opinion API.

In the above you can see:

  • most discussed person, place, organisation and product
  • number of Tweets processed
  • number of Rules setup
  • number of Context Annotations identified
  • number of Entity Annotations identified
  • number of Domains identified
  • number of Entities identified

You can view further details by clicking on the View hyperlinks. At the time of writing about 60% of the details screens are built.

Highlights – Domains Identified

Clicking on the tile Domains Identified takes you to the following screen.  Here you can see all the main topics and “domains” being discussed in processed Tweets:

Future functionality will let you:

  • View Tweets by Domain
  • Export users and associated details per domain

The Social Opinion API already contains functionality that lets you push user account details to the Twitter Ads set of APIs.  Using this new functionality lets you hyper-target users per domain.

Highlights – Entities Identified

This screen lets you visualise the main entities or things being discussed in your processed Tweets. For example, here you can see people have been discussing the 2020 NFL Draft and 1984 by George Orwell:

Future functionality on this screen will let you view users and Tweets per Entity.  Functionality already exists to let you export users per Entity. This then lets you, for example, target users with ad/creative based on the entity being discussed.

Just-in-Time (JiT) advertising!

Top 10 Person, Places, Organisations and Products being Discussed

In the tables, you can see more details on the most popular Person, Place, Organisation, and Products being discussed:

Most Discussed Domains and Entities

These tables contain the most discussed Domains and Entities. You can see the most discussed domain is “ongoing news stories like Brexit.  This makes sense as the rule I have set-up is set to track “#COVID19”.

There are some errors in the Entities section, and I’ll feed this back to the Twitter DevRel Team to see what’s going on with those Entities.


That brings this post to an end.

With the Social Opinion API and dashboards, you can build audiences on-demand, identify what’s being discussed, where it’s being discussed and more.  With the help of Just-in-Time Audiences, you can target the right person at the right time with the right message.

I’ll be using Social Opinion JiT Audience’s to raise awareness of the Instagram Graph API developer eBook I wrote a few months ago.

I’ll create a series of Rules that extract and process Tweets related to developer topics.  I’ll then use the internal Social Opinion API to push the identified user id’s to the Twitter Ads API servers and allocate an ad-spend budget.

This free 50+ page eBook shows developers how to connect to the Instagram Graph API with C#, then using Microsoft AI to surface additional insights using text analytics and computer vision.

The next steps for the Social Opinion Web App are to complete the remaining dashboards. Other ideas I have are around creating a Bot Framework Skill that lets you interact with the data being processed and Stripe integration.

  • Got a question?
  • Want to know more?
  • Interested in this web application?

Drop me a message below or reach out on social.

Get the latest content and code from the blog posts!
I respect your privacy. No spam. Ever.

Leave a Reply