A lot of reporting done at The Michigan Daily can start from figuring out what people are talking about on campus. You can hire a team of people to stalk social media and figure out the topics manually, or you could make a robot to do it. I thought, what if you could make every reporter's job easier and aggregated that information for them in a dashboard UI that they can access anywhere?

What it does

The app streams all tweets in the Ann Arbor area and extracts topics from the text using Alchemy (a natural language processing API). It lets you know at any time, in real time, the top 5 trending topics people are talking about around campus.

How I built it

I built the server processing the Twitter stream in Node.js, and built the client side with jQuery, using GSAP for animations, Highcharts for the chart, SCSS for style, and HTML5.

Challenges I ran into

I had never programmed in Node.js before. I really didn't even know what it was. The hardest part of the night for me was converting from a client-side processing perspective, being very familiar with javascript libraries, to a full stack and working from the server-side as well.

Accomplishments that I'm proud of

My favorite moment of the night was when I transferred my first bit of data through a server-client connection. I streamed a tweet to display in a div element.

What I learned

I learned a lot about how the server and client interact in a web system.

What's next for Social Media Dashboard

More UI widgets. More sophisticated language processing. Other social media platforms.

Share this project: