Skip to main content
Easy Bake Recipes: GoodReads

This is a guide to walk you through the process of creating a Juicebox app to explore your book library data from GoodReads.

Zach Gemignani avatar
Written by Zach Gemignani
Updated over 3 years ago

Part 1: Getting your GoodReads data

1. Log in to the GoodReads website

2. Select “My Books” from the top menu, then select “Import and export” from the bottom of the side menu.

3. Press the “Export Library” button

4. It may take a minute or two for GoodReads to complete the data export. When it is complete, you will see a link for “Your export”. Clicking this link will let you download and save a CSV file with your book data.


Part 2: Creating your Juicebox app and loading the GoodReads data

1. Log into your Juicebox account

2. Press the “+New App” button in the top right of the landing page

3. Go through the steps for creating a new app. Provide any app name and description you like, e.g. “My GoodReads App”. Choose any color. For your font choice, we'd encourage you to choose “Literary.” It just makes sense.

4. Once your app is created, you’ll be returned to the landing page. Find your GoodReads app and open it in edit mode by clicking one of the spots indicated below.

5. Choose the "Data” tab in the editing panel. We need to load your personal GoodReads data into the Juicebox app.

6. Click the “Connect & Upload Data Source” button and press “CSV” as shown below.

7. A file selection window will open. Find your GoodReads CSV file and select “Open.” This will load your GoodReads data into Juicebox. Give Juicebox a moment to load and examine the data. Next, you’ll see a preview of the data.


Part 3: Preparing your data ingredients

1. Select the "Add Automagically" button and add all ingredients.

2. Click outside the modal to close the data preview. The list of your data ingredients is shown as individual orange “pills” with the name of each data ingredient. Roll-over a pill to see an edit button. Selecting this button will give you options for editing that ingredient. We need to make a few changes to these ingredients before starting to build the application. After you’ve made each set of changes, press ‘Save Definition’ before moving on to the next one.

  • Book Id: Change label from ‘Book Id’ to ‘Books’. Change aggregation from ‘Sum’ to ‘Count’. Change format to ‘# Rounded’.

  • My Rating: Change aggregation from ‘Sum’ to ‘Average’. Change Format to ‘# 2 Decimals’.

  • Average Rating: Change label from ‘Average Rating’ to ‘GoodReads Rating’. Change aggregation from ‘Sum’ to ‘Average’. Change Format to ‘# 2 Decimals’.

  • Number of Page: Change label from ‘Number of Page’ to ‘Number of Pages’. Change format to ‘# Rounded’.

  • Exclusive Shelves: Change label from ‘Exclusive Shelves’ to ‘Shelves’. Change singular label from ‘Exclusive Shelf’ to ‘Shelf’.

When you are done, your list of ingredients should look like this. There are a lot more ingredients than we’ll need for the application.

3. Optionally, you can select any ingredients that you are confident you won’t need and delete them.

Part 4: Building your data story

Finally, we get to the fun part. Your data is loaded and prepared. The following instructions are for a short data story to let you explore how much you’ve read and how your ratings compare to the overall GoodReads community ratings.

1. Select the 'Designer' tab in the editing panel.


2. When you start a new app, there will be a slice already in place called “intro” with the text “What story will you tell?”. Replace that text with the following:

--invert

## What books have I read? And what did I like?

### A CliffNotes version of my GoodReads data

![GoodReads logo](https://images.gr-assets.com/doodles/1594418665i/18.svg)

This is an introductory slice that includes a title, short description, and the GoodReads logo. The ‘#’ characters are used to indicate title levels for the text. You can, of course, add any text you want in here to personalize your story. The resulting slice confirguration should look like this:

2. Press the ‘+’ button under the first intro slice to add another slice. Press the ‘+ Charts’ button and choose ‘Filters’ from the menu. Select the ‘Shelves’ data ingredient as a filter. Then give it a description such as: “Filter by GoodReads ‘shelves’:”

Now you’ve added a filter to only pick books from one or many of your GoodReads shelves. Your slice should end up looking similar to this (note: the unique value ‘filters_5mn6cc5g’ will be different for you. This is a unique ID, or "slug", for each slice).

3. Next, we are going to summarize some of the key measures from your data. Add another slice with the ‘+’ button. Press the ‘+ Charts’ button and choose ‘Data Cards’ from the menu.

Pick the measures as shown below and add some title text. This visualization not only shows a summary of your book data, but it also allows the user to select a metric they want to focus on.

4. We’re going to give our users another selector to choose how they want to explore the data. Again, create another slice, choose ‘Data Cards’ and pick a few dimensions to enable analysis.

We are doing something a little clever to create a dynamic title. In the image below, you’ll see the text “==data_chooser_9e6nxidu.selectionDisplay()==”. Let’s break how this works:

  • The “==” at both ends is an indicator to Juicebox to create a dynamic text value.

  • The value “data_chooser_9e6nxidu” refers to the unique ID of the previous slice (the one that shows overall book reading measures). You’ll need to use the slice ID shown in your app to make this work.

  • The term “selectionDisplay()” is one of a few options to display dynamic text. You can learn more here.

5. Press the ‘+Add Section’ button at the bottom of your story designer, and add a new slice into that section.

Now that we’ve set-up the context of the data story and let the user choose some ways of exploring, it makes sense to have a new section for the detailed analysis. We are going to start with a bar chart. Here’s what we want to get to:

We want the bars to represent the selection from the previous slice. In the drop-down menu, the first choice will be this dynamic value, shown here as ‘@data_chooser_bsliomj0’ (your unique slice ID will be different). The same thing for the bar width — choose the first item in the drop-down menu which refers to the selection of measure from above.

The title for this slice is also dynamic, using the references to previous slices to make the information reflect the user’s selections.

6. Another way to look at this data is in a scatterplot. Add a new slice and choose ‘+Chart’ and pick ‘Scatterplot’. See the selections and text below to create this slice.

7. Create a new section with the ‘+Add Section’ button at the bottom of your story designer. Add a slice and create a ‘Table' from the ‘+Chart’ menu. This table will be filtered by all the selections above and shows individual book-level details. You can put any columns that you want into this table.

8. Finally, add in a slice that wraps up your data story. A few things about this slice.

  • There is no visualization. That’s ok. Sometimes it is useful to just show text or images as part of your data story.

  • Consider using your theme color as a background (select the little droplet icon).

  • Because our theme color is a little dark, the text started with the markdown value ‘--invert’ which turns the text white instead of black.

  • Using markdown, we have added a link back to the GoodReads site. Here’s more information about markdown.

That's it. You've made an app to explore and share your GoodReads data. When you are done, you can go to the 'Publish and Share' tab in the editing panel to publish and share your application. Happy reading!


Did this answer your question?