I started a project to publish relevant statistical datasets of my city (Basel/Switzerland) and allow users to look up this information fast on mobile phones or tablets. At first I opted for a JS-app, since I wanted to use tabs. Although there are some workarounds to produce them in Streamlit, they don’t seem to work well on all browsers. The interface was simple, but catching events and reacting to all possible user interactions turned out to be very complex, and I finally gave up on the tab widget and returned to Streamlit. I created the interface in less than an hour, substituting the tab by a selectbox.
The App dynamically displays data from either a local database or retrieved through url-requests from various open-data sources either in tables or graphics. The interface is supposed to require a minimum of user interaction to display the data. In particular, charts must adapt to the current data selection. I met a few challenges, but none related to Streamlit. I could entirely focus on designing the metadata to generate tables and plots. Now I can simply define a data source and specify the metadata. This dataset can then be queried and displayed by the user entirely metadata-driven. The project is only started, but I was once again impressed by how fast I had a first result thanks to using Streamlit. You can check out the App here. It is in german, but I hope the interface is simple enough to get the idea what the app does.
It would still be nice to have tabs in Streamlit