Project X - Power to the People

Application AND Documentation due Friday 4/30/21 at 8:59 pm Chicago time and late assignments will not be accepted.

This optional single person project is worth up to an extra 5% on your total class grade.
This project is available to both undergraduate and graduate students. Both have the same requirements this time.

So far we have looked at power from a national (US) and local (Chicago) Perspective. This project use R to visualize data on global electrical power production in 2019, and use shiny to give people an interactive interface to create those visualizations. Different parts of the world tend to generate power in different ways and the application you create here should make it easy for people to see and explore those differences.

The data file is available from

For this assignment you can make changes to the data file before you load it into R. You need to clearly document how you modify the file on your website to the extent that someone following your instructions could recreate your files from the originals.

You can use any of the mapping libraries that we have used this term for the project.

Again you will be writing your code to run full screen in a web browser at 1920 x 1080 resolution and it should run on all current browsers (Chrome, Safari, Firefox, Explorer, Edge, etc.). The fonts and visualization primitives you create should be work effectively at that scale. The user should never to scroll the window, ever, so you should experiment with different ways to organize the information and controls to find the most effective combinations. Users will be using a mouse / trackpad to interact so make sure your controls are reachable and at an appropriate size.

Your program should
read in your data file and create an interactive visualization in R and Shiny that initially shows North America and all of the power plants there. Remember that North America is more than the US, Canada, and Mexico.

In all of these case you need to make sure that your visualizations are well constructed with good color and font choices, proper labeling, and that they effectively reveal the truth about the data to the user.

Turning in the Project

There is only one due date for the project.

As with the revised Project 3 we will run this one in RStudio / a compatible browser on the desktop, rather than on

Your code should be turned in and made available on GitHub ( in a public repository for the project. You can keep the repository private while doing your development. I would suggest setting up the GitHub project early and regularly pushing code to it as a backup.

It is important to note that 'getting it to work' is just a prerequisite to using the application to find answers to your questions. It is that usage that will give you ideas on how to improve your app to make it easier and more intuitive to find those things. Writing the application at the last minute pretty much guarantees that you will not come up with an intuitive interface.

Before the application due date&time please send an email to andy with the URL of your GitHub site.

Again, your documentation should be part of the web page you created at the beginning of the course.

This page should have several sections including:

all of which should have plenty of screenshots with meaningful captions. Web pages like this can be very helpful later on in helping you build up a portfolio of your work when you start looking for a job so please put some effort into it.

You should also create a 5 minute YouTube video showing the use of your application including narration with decent audio quality. That video should be in a very obvious place on your web page. The easiest way to create the video is to use a screen-capture tool while interacting with your application, though you will most likely find its useful to do some editing afterwards to tighten the video up. If you do decide to use your phone or tablet to make the video, then please shoot the video in landscape rather than portrait orientation. Your video should show the capabilities of your tool through a set of specific examples of interesting things you found in the data.

Once you have your web page done, send the URL to Andy before the deadline. We will respond to this email as your 'receipt'.

last revision 4/18/2021