Show and Tell: dash-slides, easy interactive presentations with Dash

I had to do a presentation but I wanted it to be interactive with Dash. It went well and was cool, so I made this template plus extra machinery to make Dash presentations easy as making a few slides (pages) and making a list of your slides’ names in order. Navigation is taken care of with a built-in router. A few simple customization features to boot.

I’d love any suggestions, issues, or pull requests if you have them! :handshake:

The code is running at https://dash-slides-example.herokuapp.com/.

Shoutout to @tcbegley FacultyAI’s dash_bootstrap_components, which is used to make navigation pretty. You don’t have to use bootstrap components, but they are there waiting for you if you like them! :chart_with_upwards_trend:

7 Likes

This is great! I tried to jerry-rig my own version of this one time for a talk I did on building your own quick web app with Dash.

Does it work with hot reloading? I would love to do a live code demo with this.

Yep it works with hot reloading! It uses the slide names as unique URLs, so reloading just refreshes that slide :raised_hands:

1 Like

Updated - you can now choose which slide to go to by name/order!

2 Likes

Updates

  • using the dropdown with slide names no longer reloads the entire app. :heavy_check_mark:
  • I removed the example code and instead just made the whole thing the example.
  • updated readme with better instructions
  • I’ve put the example for this on https://dash-slides-example.herokuapp.com/ and updated the original post to reflect this.

Cheers and happy Dash-ing!

2 Likes

Thanks Russel, is it possible to do this offline? I need to make a presentation for clients where they will not provide internet access, not sure how PlotyDash can handle discreate slides running on local PC port 8050

All of this is offline unless you deploy to Heroku as I did with the example app. So yes.

Try it out by following the instructions in the Github README:

git clone https://github.com/russellromney/dash-slides
cd dash-slides

virtualenv env
source env/bin/activate

pip install -r requirements.txt

python index.py

thanks! it works fine now