Building Data Apps with Streamlit and Copilot
Published by O'Reilly Media, Inc.
Turn notebooks into interactive web apps in minutes
What you’ll learn and how you can apply it
- Build and deploy interactive Streamlit apps that transform Jupyter notebook analyses into shareable, exploratory tools
- Create visualizations and interactive graphics that allow users to explore datasets dynamically
- Design user interfaces using Streamlit’s layout features, such as columns and tabs, to organize content clearly
- Discover how to use AI tools such as Copilot to accelerate development and discover new Streamlit features
Course description
Join data science engineer Ari Lamstein to learn how to transform analytical scripts into interactive web applications using Streamlit, an open source Python library. You’ll build and deploy a data app that loads a dataset, allows users to choose how to analyze it, and presents interactive graphics through a polished, intuitive interface. Along the way, you’ll practice using AI tools like Copilot to speed development, explore Streamlit features more efficiently, and generate example code, with no prior experience in web development required.
Guided exercises will give you experience working with user input, creating interactive graphics, and organizing the user interface. You’ll also practice techniques for presenting results that support decision‑making and gain the confidence to deploy apps to a live environment. By the end of the course, you’ll be able to apply Streamlit to reporting, prototyping, and dashboards.
This live event is for you because...
- You’re an analyst, scientist, or other data professional who wants to make your work more interactive.
- You work with Python scripts and Jupyter notebooks to explore datasets and communicate findings.
- You want to build and deploy Streamlit apps that let others explore data on their own.
Prerequisites
Completing this setup before the workshop ensures we can dive straight into coding without install delays.
Prerequisites
- A computer with Git installed uv (package manager) installed (after installing uv, restart the terminal)
- A code editor/IDE such as VS Code installed
- The Jupyter extension for VS Code installed (or some other way to work with Jupyter notebooks)
- Ability to navigate the command line
- Comfort using Git and GitHub
- Familiarity with writing Python code in scripts and Jupyter notebooks
- Experience creating and activating Python virtual environment
- Prepare your virtual environment by following the instructions in the course GitHub repo
Schedule
The time frames are only estimates and may vary according to how the class is progressing.
Introduction (30 minutes)
- Presentation: Confirm setup; What is Streamlit?
- Group discussion: What is a data app?
- Hands-on exercise: Run and “rerun” a Streamlit app; review Jupyter notebooks
Working with user input (55 minutes)
- Presentation: Select boxes in Streamlit; pandas Series methods; Boolean indexing in pandas
- Hands-on exercises: Pandas Series methods in Jupyter notebooks; update select box options in Streamlit app; Boolean indexing in pandas (Jupyter and Streamlit); use Copilot to create Streamlit input widgets
Creating interactive graphics (55 minutes)
- Presentation: Interactive graphics with Plotly
- Hands-on exercises: Add a line graph to the app; let the user select which variable to graph; add a map to the app; use Copilot to write graphics code
Organizing the user interface (50 minutes)
- Presentation: Adding columns to the app; adding tabs to the app
- Hands-on exercises: Adding columns to the app; adding tabs to the app; use Copilot to write UI code
Deploying your app (30 minutes)
- Presentation: Deploying to Streamlit cloud
- Hands-on exercises: Create new GitHub repo; upload files to the repo; create Streamlit cloud account; deploying the app
Your Instructor
Ari Lamstein
Ari Lamstein is a software engineer, data scientist, and trainer based in San Francisco. He most recently worked as a staff data science engineer at a leading marketing analytics consultancy, where he developed internal tools, mentored analysts, and led workshops on software engineering best practices. His teaching portfolio spans over a decade of software development and data science, delivered through written tutorials, recorded online courses, and live workshops. Ari is known for making technical concepts approachable and practical, helping learners gain confidence while building real‑world projects.