# Build an interactive dashboard from a CSV dataset

In this tutorial, we’re going to build an interactive dashboard to display insights from a CSV dataset. We’re going to be using a dataset of Uber pickups in New York City. We’ll use Anvil’s [Data Files service](/content/docs/working-with-files/data-files/index.html) to upload and store our CSV file, so that it is easily accessible from our app’s code. We will also be using [`pandas`](https://pandas.pydata.org/docs/#) to read our data and [Plotly](https://plotly.com/python/) to turn our data into interactive plots.

The final app will look something like this:

We’ll build the app in 7 quick steps:

1. We’ll first [import the dataset and Python packages](/content/learn/tutorials/data-dashboard-csv#step-1-import-the-dataset-and-packages/index.html) we need.
2. Second, we’ll [create the app’s UI](/content/learn/tutorials/data-dashboard-csv#step-2-build-the-user-interface/index.html) with Anvil’s drag-and-drop designer.
3. Next, we’ll [examine our data](/content/learn/tutorials/data-dashboard-csv#step-3-examine-the-data/index.html) to better understand how to use it.
4. We’ll then use `numpy` and Plotly to [create and plot a histogram](/content/learn/tutorials/data-dashboard-csv#step-4-create-a-histogram/index.html) of all pickups per hour.
5. We’ll next [plot the location data](/content/learn/tutorials/data-dashboard-csv#step-5-plot-the-map-data/index.html) onto an interactive map using Mapbox and Plotly.
6. To finish the app, we’ll [allow users to filter the data](/content/learn/tutorials/data-dashboard-csv#step-6-respond-to-user-input/index.html) displayed on the map.
7. Finally, we’ll [publish our app](/content/learn/tutorials/data-dashboard-csv#step-7-publish-your-app/index.html) and share it with the world!

## Chapters

In this tutorial, you'll:

### [Import the dataset and packages](/content/learn/tutorials/data-dashboard-csv/chapter-1/index.html)

Import the CSV data and Python packages.

### [Build the user interface](/content/learn/tutorials/data-dashboard-csv/chapter-2/index.html)

Drag and drop components to create the app’s user interface.

### [Examine the data](/content/learn/tutorials/data-dashboard-csv/chapter-3/index.html)

Use pandas to examine the CSV data.

### [Create a histogram](/content/learn/tutorials/data-dashboard-csv/chapter-4/index.html)

Use numpy to create a histogram out of the data/time data.

### [Plot the map data](/content/learn/tutorials/data-dashboard-csv/chapter-5/index.html)

Plot the location data onto a Scattermapbox Plotly plot.

### [Respond to user input](/content/learn/tutorials/data-dashboard-csv/chapter-6/index.html)

Modify the app so that it updates based on user input.

### [Publish your app](/content/learn/tutorials/data-dashboard-csv/chapter-7/index.html)

Publish and share your finished app.
