Shiny Contest Submission: A Dashboard for Conference Tweets

Check It Out

Hyper-Focused Conference Twitter

This dashboard is designed to provide a clean, accessible, hyper-focused interface to explore and monitor tweets sent during a conference, event, or gathering (IRL or online).

Currently, the dashboard includes the following tabs and features:

  • :chart_with_upwards_trend: Dashboard

    The opening page show a few statistics about the current volume of tweeting about the conference. If the conference is part of a larger Twitter community, you can also display overall statistics about tweeting in that community. For example, rstudio::conf tweets are from members of the broader rstats Twitter community.

    The front page also includes the top retweeted and liked tweets from a configurable time window, such as 12 hours, and the most recent tweet sent.

  • :trophy: High Score

    The high score tab gives a "leaderboard" for users, hashtags, words, and emojis for tweets about the conference. This can be a fun way to gauge topics of disucssion, attendee or participant experiences, or to motivate users to participate.

  • :slot_machine: Tweet Wall

    The Tweet Wall shows all of the tweets from the conference in a Pinterest-style wall. Users can quickly scan and read the stream of tweets from the conference or event. Additional, configurable date filters allow users to look for tweets from particular date ranges.

  • :camera_flash: Media Tweet Wall

    The Media Tweet Wall is another wall of tweets containing only tweets with pictures or videos. In addition to the occasional gif, this tab provides an overview of the pictures being published from the conference venue.

  • :mag: Searchable Table of Tweets

    It is notoriously difficult to use Twitter's search features to find specific tweets. The Explore tab provides a searchable dataTable of tweets with a number of pre-specified filters. Users can search for text in any field or sort by date or number of favorites or likes. Clicking on a tweet in the table shows the tweet alongside the table in its original context.

  • :calendar: Conference Schedule

    Conference schedules also tend to be difficult to search and interact with. But if a downloadable (or scrapable) conference schedule is available, it can be embedded directly into the app with the full search and ordering capabilities of dataTables. If a tidy schedule table isn't available, the tab's link can point directly to the conference or event schedule on an external website.

  • :iphone: Looks Great on Mobile

    The dashboard is built on AdminLTE and Bootstrap with a fully responsive design. All of the main features work well on mobile — including the landing page, the high scores and the walls of tweets. The tabs that use dataTables try hard, too!

:pray: Thank you!

This dashboard was built using many great tools in the R ecosystem. Thanks to all of the developers of these open source packages:

...and many more. View the full list of project dependencies.

Technical Details

This app is a continuation of an app I built for rstudio::conf 2018 (view source code here), which worked well for previewing single tweets or searching through the conference tweets.

I re-purposed the above app a few times over the past year, so this time around I set out to make something easily extensible.

My favorite moment of this project was also my aha! moment with Shiny modules. I had built out quite a bit of the new app and wanted to add the features of the old app in a tab. I was dreading digging into my old code. Instead, I read up a bit on Shiny modules, wrapped my UI and server side code in functions, and embedded what was previously an entire app into my new app! Seriously, I changed or added maybe ten lines of code!

I got such a kick out of Shiny modules that I created a package with modules for two other components I used in this app: the pagination buttons in the Tweet Wall tabs and the dropdown button. These are packaged for anyone to use in gadenbuie/shinyThings.

I plan to post instructions on my website and in the repo soon for guidance on setting this dashboard up from scratch for any desired conference. In the mean time, all of the conference (or event) specific settings live and are documented in a single file. R developers can use rtweet or gathertweet (see below) to collect tweets for the conference, but I hope to make this even more seamless in the future.

I also built a few other things to make this work, including:

  • gathertweet - A command line tool for gathering tweets from Twitter search streams. Removes the boilerplate of collecting Twitter data and plays nicely with cron.

  • shinydashboard (fork) - I forked shinydashboard to add a few features I needed to make this work the way I wanted.

  • adminlte-ocean-next - An AdminLTE dashboard color theme.

This dashboard is released under an MIT license.

You are welcome to re-use and/or customize this dashboard! If you do, I kindly request that you provide credit and link back to the source repo or my personal webpage. Thank you!


This topic was automatically closed 54 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.