Civic News
Apps / Elections / Politics / Q&As / Startups

These DC technologists built a website that tracks voter sentiment in real time

On this Election Day, consider following, which analyzes posts on Twitter, Facebook, Reddit and Instagram to track how voters are feeling about the presidential race. on the early afternoon of Election Day 2020. (Screenshot)

By analyzing posts on Twitter, Facebook, Reddit and Instagram, two D.C.-based technologist built some algorithms to track voter sentiment in real-time, and is sharing the results through a new website.

The rudimentary site was recently built by WilyFish CTO Michael St. John with support from Stevan Lieberman, WilyFish CEO and an attorney for Greenberg & Lieberman. The pair cofounded WilyFish in 2014 alongside the company’s CMO, Michael Leifer, to create a brand-protection system that automates the process of finding and flagging potential brand-abuse — or simply where brands are being used — and takes action based on what it finds, Lieberman said.

While developing the WilyFish platform, the company’s founders realized that they needed to take social media into account. St. John built a “sentiment analysis” to include social media since those sites are a big area for brand exposure.

“I’ve always been a tech guy, trying to build the impossible for other companies — whether it was coding e-proms [erasable programmable read-only memory] for machinery or building recognition systems, it was all fun,” St. John told about how he got his start in tech and entrepreneurship. “I figured, why not take the next step and start a company and help others while doing what you love.”

The creators behind the answered some questions via email about how the tech was built and what you can expect to find when you visit the site. Check out the explanation of their process below.

Disclaimer from the team: They wanted to make sure the site went live as soon as possible, so the formatting and layout can look a little wonky as they tweak it. Try zooming your screen out to 80% if you’re having issues viewing without text overlap.


Why did you decide to build

Everyone’s of course watching the election. We were interested in this as a civic project, where hopefully we can try to help inform voters, journalists, and political analysts out there while also testing our algorithm. We were also interested in if we could galvanize people to go vote, which is why we added the League of Women Voters material to our site, too.

What kind of information can users expect to get when they visit the site?

The system both shows a real-time score — what people are saying about Joe Biden and Donald Trump at that moment — and it currently allows for recorded data to show how people reacted during the last debate. It’s a prototype of what we’re installing into WilyFish. The “Likeness Score” that we include on WilyFish will have a timeline, so users can see how opinion changed over time, and also allows users to enter their own keywords to compare.

How did you build the algorithms to track voter sentiments in real-time?

  • Site: JavaScript/Vue.js
  • Backend: Java, Python
  • Some of the tools we used for the process: PyTorch, Apache Storm, Redis, Vertx

Rather than only treating individual tweets and comments, we also group them into conversations. If you do single tweets, you can’t flesh out context — sarcasm, things like that. In politics, people like to take things out of context — this algorithm takes everything in context.

So the algorithm takes all those factors into account, and comes up with a better score, which it then classifies into a “sentiment.” The classifier takes various other metrics into account, as well: For example, words in all-caps or multiple exclamation points can emphasize the sentiment in some cases. Curse words tend toward the negative side; “likes” obviously are positive.

We also had to account for different numbers of tweets — there’s six times as many tweets talking about Trump as Biden, because Trump puts out so many tweets, and people seem to respond to every single one of them. If we didn’t do that, no matter what, Trump would “win,” because he has so many more tweets that are about him. That’s why we built our likability analysis, and then combined it with the sentiment analysis to create what you’re seeing.

In doing this in real time, it allows us to get a glimpse into how discussions are going about the keywords and the candidates — it gives us a solid basis whether people are liking Trump or liking Biden based on the analysis of the words within each tweet.

What happens to the site after the election?

We’re not sure yet. But we’d love to expand the site to cover other political races in the U.S. and beyond.

Series: Election 2020

Join the conversation!

Find news, events, jobs and people who share your interests on's open community Slack


DC daily roundup: Esports at Maryland rec center; High schoolers' brain algorithm; Power data centers with coal?

DC daily roundup: Tyto Athene's cross-DMV deal; Spirit owner sells to Accenture; meet 2GI's new cohort

DC daily roundup: $10M to streamline govt. contracting; life sciences might dethrone software; Acadia's new $50M

DC-area startup raises $10M to streamline government bids using generative AI

Technically Media