Rather than just displaying data, make it possible for the user to interact with a substantial dataset. For example, this could involve using a control to alter the view on the data; filtering what is displayed by one or more features; overlaying datasets; or adding, deleting or modifying data.
- A map showing animal migrations which can be updated according to the time of year.
- A web page that takes in a postcode and displays the location of restaurants within a certain distance of that postcode.
See the COVID-19 data dashboard for some more ideas.
Shiny is an R package that makes it easy to build interactive web apps straight from R: https://shiny.rstudio.com/
Jupyter widgets allow you to build interactive GUIs for Python notebooks: https://ipywidgets.readthedocs.io
D3.js is a powerful data visualisation library but the learning curve is quite steep. Here are some useful examples: https://observablehq.com/@d3/gallery