Final project

Due by 6:00 PM on Monday, December 9, 2019


Develop a Shiny app based on any data-related topic. himym


This is up to your group. You may use a dataset from the design contest (the same or a different data set) or select your own. Warning, don’t overthink selecting your dataset.

In one week, make a decision on your data set by November 14, 2019 (send me by email). This is the most important step to start with.

Want ideas? Check out these resources.

Design process:

Very similar to design contest, answer the following questions in your design process:

  1. What are the data and tasks?

  2. What can/must be done using data analysis?

  3. What needs to be done interactively?

  4. How to best support the user in conducting the tasks?

  5. What’s the analysis and interaction flow?

  6. What needs to be visualized and how to best visualize it?

However unlike the design contest, the expectation for this system will be a shiny-enabled app (e.g., could be a shiny app, shinydashboard, flexdashboard with shiny enabled).

You will have three deliverables:

Shiny app

Your app. You can submit it as:

  1. Ideal (but not required): a GitHub repo with the link on the README for the deployed app. Could include a RStudio cloud project too.

  2. Alternative: a RStudio cloud project link (submit to me via email or on your slides).

  3. Worst case: upload a zip folder on canvas where your shiny app can be fully reproduced! (i.e., self-contained folder that includes any data).

You do not need to deploy your app on shinyapps given some great packages may have issues deploying; however, it is highly recommended to deploy to


Prepare a 7-8 minutes presentation to introduce your dataset, scenario, design process, and your system.

Highly recommended hands-on demo for your app. kid

If you used the same data set as the design contest, you can sum up your presentation in 1-2 slides (remind dataset, scenario, and basic design). Then go into a hands-on scenario (e.g., what if scenario) to demonstrate the value of your app.

The presentations will be given on Dec 9 during our final exam period.

Teams will present in opposite order of Design Contest.

Final Report

Prepare a final report to outline your Shiny app and its relevant objective (task).

This will be written in RMarkdown. See any of the document formats (html, doc, even tufte style). You’re welcome to explore Bookdown if you want to be adventurous (not required). You can create either an html-based RMarkdown file that you publish (e.g., or upload on Canvas a pdf document.

The report should have six sections:

  1. Introduction: Domain problem characterization
  1. Data/operation abstraction design:
  1. Encoding/Interaction design:
  1. Algorithmic design:
  1. User evaluation:
  1. Future work

What could you do next?

  1. Appendix (optional)This is for any exploratory work that didn’t make it into your app or process. You can highlight packages you may have tried.

To understand sections 1-4, you will need to read Tamara Munzner’s “A Nested Model for Visualization Design and Validation”. Section 5 is an outline for how you could (hypothetically) evaluate whether youFor this part, be sure to read Mazza’s chapter on evaluating interfaces

Length: Each section can be about 2-5 paragraphs. Figures are always helpful. Maybe a table or two. When in doubt, put things in the appendix to keep the report concise.


The instructor grades the design after your presentation according to the following criteria:

  1. Presentation:
  1. Reproducibility & Code:
  1. Shiny App:
  1. Final Report:

Bonus Points: Shiny App Awards

Based on class vote, we’ll award extra credit for the team voted: bis

1. Best app (+10% extra credit)

Spring 2019 Winner: Nicholas Occhipinti, Karyn Cook, and Ziyin Liu for their Shiny app to explore multiple data sets related to opioid crisis to better understand and obtain insight on the opioid epidemic in the United States.

2. Best documented (+5% extra credit):

Spring 2019 Winner: Kabita Paul, Elif Demir, and Anjali Bapat who designed a shinydashboard app to explore Olympics performance over the last century by country and participant.

3. Best scenario design / most practical (+5% extra credit):

Spring 2019 Winner: Abe Sadikov for SMARTSIGHT, a market-basket analysis of Instacart products to identify patterns in purchase behaviors.

4. Human-centered machine learning (+5% extra credit)

Spring 2019 Winner: Balavigneswaran Kuppusamy, Minglan Ye, and Jiamin (Jenni) Lei who designed a shinydashboard to explore High School friend relationships in an (anonymized) friendship network with key centrality measures to determine the most popular friends in the network.

5. Most creative (+5% extra credit)

Spring 2019 Winner: Evan Canfield, Chandra Bhumireddy, and Rommel Badilla who created a shiny app to explore EIA data for electricity generation in the Southeast US from 2001 through 2017