Anyone creating business-facing apps with Streamlit?

Hi @CW12345 in short yes :sunglasses:

The below 100% Streamlit app is public facing with enterprise-grade security in use by $1Bn+ companies

Have a look inside and would love to know what you think via the feedback at the back of the app.

We have passed all the questions their security teams have thrown at us and we are in discussions with them about actively expanding capabilities.

Happy to take questions.

Hi @asehmi

I’ll refer to the app I’ve built here and provide some responses to your comments

“no native cross-widget communications”
I’ve successfully used session_state to handle this. The way to do it is that each widget, on each page, must have its own unique key and you can pass the value of widget_key session_state values to others in order to maintain state persistence, and also handle live updates.

“limited layout responsiveness”
Some of this has improved recently (st.dialog is coming soon) but I agree with this, unless you know CSS/ HTML (I don’t)

“As apps get larger they will benefit from partitioning and modularization, such as: multiple pages, database offload, separating front end vs back end concerns, and perhaps even wrapping back end code with APIs (especially if you’re integrating with other systems or running async workloads). I”
Yes this is our architecture. Streamlit serves as the front end, and makes API calls we serve via Cognito and Lambda functions via an AWS backend. We deploy the front end in Render. Architecture works fantastically well for front vs backend dev teams. Integates with CICD and automated testing too

This looks great! The customisations are superb. Must have a closer look.

1 Like

Hi @janaka I think that Streamlit can be used to build enterprise-grade data science apps, not your generic ERP apps which are a different kettle of fish.

Our app is a data science specific, but enterprise security grade, application that addresses a very specific use case. We’ve run our app through 3 x enterprise security teams for $1Bn+ companies and they have been fine with it.

Streamlit has been an excellent developer experience in that regard (some hacky things but mostly not, or at least, ones that I’ve been ok to live with but other developers may disagree).

But if one were trying to build, say, an e-commerce website, salesforce equivalent etc. using Streamlit it would be very difficult and fragile IMHO.

Hello! The app seems to be great! Congratulations.

Im interested in knowing more about how have you deployed a custom and visual front end, or how have you applied the css styles targeting similar widgets with different styles.

Thankyou :).

It’s quite straight forward.

To play the video full screen, you need to suppress the banner at the top of streamlit

hide_decoration_bar_style = '''
            header {visibility: hidden;}
    st.markdown(hide_decoration_bar_style, unsafe_allow_html=True)

The code below plays the video. I got this from the forums

video_html = """

            #myVideo {
              position: fixed;
              right: 0;
              bottom: 0;
              min-width: 100%;
              min-height: 100%;

            .content {
              position: fixed;
              bottom: 0;
              background: rgba(0, 0, 0);
              color: #f1f1f1;
              width: 100%;
              padding: 0px;

            <video autoplay muted loop id="myVideo">
              <source src="<url to your video>">
              Your browser does not support HTML5 video.

    st.markdown(video_html, unsafe_allow_html=True)

Hope those help

1 Like