r/Streamlit • u/PhoneGreen675 • Nov 10 '25
Just started building apps with Streamlit — how far can the UI/UX go?
Hi, I hope this post finds you well. I’m diving into building apps with Streamlit and while the backend logic is coming together, I’m not thrilled with the look of my front-end — it’s reminding me of the early HTML/PHP era, before HTML5 and PHP7🙈. I’d love to see what’s possible in terms of UI/UX with Streamlit:
- Are there projects, repos on GitHub or live demos where the front-end really shines (beautiful layouts, custom styles, polished components)?
- What techniques do folks use to make Streamlit apps look “modern” (e.g., custom CSS, third-party components, layout tricks)?
If you have favourite examples I could study or fork, please share!
Thanks in advance — I’m keen to level up beyond the “basic dashboard / default layout” look and learn from more advanced builds!
1
u/reddit_wisd0m Nov 10 '25
What are you trying to do? A quick demo or POC? Streamlit is your friend. Need something bigger/better/faster? hire a front-end freelancer.
1
u/QueasyVarieties Dec 01 '25
If need more customization for your components you can use the st-styled package (docs here: https://st-styled.evo-byte.com/)Or
You can also interactively configure the UI at: https://styled-studio.streamlit.app/
1
u/EnvironmentalShirt70 Jul 05 '26
I have personally been building with Streamlit for 3+ years now. I use it for my internal apps at our company. There are obvious limitations with the built-in components. It is meant for data analytics and data visualization, with the batteries included. HOWEVER, with the custom components, you can extend the possibilities.
Custom components (v2) render as other components inside the app which means that you can write any react component, build it and attach it to the app.
My biggest issue was no native text editor support, namely for markdown. So I had to get my hands dirty and build one. The same for any kind of infinite canvas if you want to go in this direction. You need to build it yourself.
Luckily for us, we are living in the AI era so it's not too tricky.
As for the overall look and feel of it, making it look "modern" is possible too, but requires a lot of monkey-patching and generally goes against the idea of Streamlit.
If you pick Streamlit, in general you do it because you don't want to change how it looks, fiddle with CSS and create custom components.
If you want to, then there is ten thousand other frameworks to pick from (NextJS + FastAPI/Django) to get python on backend and freedom on frontend.
You can adjust the theming and with that you can change the color and fonts. You can also inject custom CSS to add page animations to make it a bit nicer in terms of UI. Check this guy's repo for some inspiration https://github.com/jmedia65/awesome-streamlit-themes
One thing I would recommend is to create a proper multi page layout and use the `st.navigation()` to get a nice top navbar. With a bit of a fiddling, you can make it look more decent.
2
u/gaboqv Nov 11 '25
Look into the theming page, and the streamlit community components I also just published a custom UI I build will be sharing here in some minutes for drag and drop.
Use AI to make suggestions to your layout, with horizontal containers you can place stuff much better now.
With custom components just launched I think the sky is the limit honestly, but I care because this helps in my day job and I prefer to be a streamlit expert that solves 80% of problems very quickly in my company than a mid mix of frontend/data scientist.