Creating, innovating and presenting

Data Storytelling + A.I.

Francisco Alfaro

2025-07-06

About me


  • Francisco Alfaro Medina aka fralfaro
  • Member of Python Chile
  • Lead Data Scientist at Grupo Security
  • Associate Lecturer at UTFSM

Agenda

  • No

  • Nope

  • No chance

Tachado

Storytelling principle #1

Never reveal the ending too soon.
Always build up tension and drama

Agenda (v2)

  1. Never reveal the ending
  2. Details are important, but not all details are important.
  3. Your first draft will be horrible.
  4. Explain less, show more

Storytelling

Why Storytelling?

What is Storytelling?

🔥 Stories are the first human technology.

Ohh, those hackable brains



Peak-End Rule


Game of Thrones Rating, by Kelvin Neo

Narrative



Use Storytelling tricks (narrative) to create presentations that will be remembered and make an impact

🎭 Emotions inspire action

The best example



How to make millions of people share statistics on social media?

Data Storytelling

Tool #1: Visualization

Examples

🔢 Don’t share numbers

🪶 Share a story



(C) Storytelling with Data, by Cole Nussbaumer Knaflic.

Storytelling principle #2

Details matter, but not all details are important.

Best Charts for your Data


(C) Essential chart types for data visualization, by Atlassian.

Data Storytelling

Tool #2: AI

Examples


🥱 1° version \(<\)\(<\) 😊 last version

Storytelling principle #3

Your first draft will always be horrible.

From Ideas to Impact… Faster with AI


  • Faster structure, less effort
  • Clearer stories, better impact
  • Visuals in seconds
  • More time for creativity

💡Unlocking Creativity with AI Tools

Data Storytelling

Tool #3: Presentation

Examples

Let’s see how much code we need to say something as simple as:
“Do you like this presentation?”

It may seem like a small question, but turning that into code requires defining categories, assigning values, choosing colors, and setting plot parameters.
And that’s just to get a basic bar chart.

import matplotlib.pyplot as plt
categories = ["Yes", "No"]
values = [75, 25]
colors = ["lightblue", "salmon"]
plt.figure(figsize=(6, 4))
plt.subplots_adjust(bottom=0.25, left=0.2)
plt.bar(categories, values, color=colors)
plt.title("😊 Do you like the presentation so far? 😊", fontsize=12)
plt.show()

Storytelling principle #4

Explain less, show more.

📝 Quarto (+ Extensions)



Quarto is an open system for scientific publications with markdown and interactive code (Python/R).


🔧 Need more power? Use Extensions

Código: example.qmd

---
title: "Habits"
author: "John Doe"
format:
  revealjs:
    transition: fade
    theme: black
    toc: true
    center: true
---

## Getting up

- Turn off alarm
- Get out of bed

---

## Going to sleep 
::: { .incremental }

- Get in bed
- Count sheep

:::

Slides: example.html

🌐 Quarto WebR + Pyodide


  1. WebR: Run R code in the browser, no installation required.

    # To install WebR in your environment
    remotes::install_github("attiyap/WebR")
  2. Pyodide: Same, but for Python.

    # To install Pyodide
    pip install pyodide

Example

Streamlit



Streamlit is a Python library that allows you to easily create interactive web applications using only Python code.

Streamlit

☁️ Streamlit Cloud


Learn more at: 👉 streamlit.io/cloud

🌐 Quarto + Streamlit



  • Deploy to Streamlit Cloud with one click.
  • Seamlessly embed your app in a Quarto presentation or website.
  • Perfect for live demos and data storytelling.

Stay in your presentation.
Stay in the flow. 🎯

Example

Agenda (v2)

  1. Never reveal the ending
  2. Details are important, but not all details are important
  3. Your first draft will be horrible
  4. Explain less, show more

🎉 Thank You for Participating!


❓ Questions?

👏 Fill out the survey

🥳 Thank You Again!

🔗 Visit our official site: seth-nut.github.io/resources