streamlit-facade, a shadcn-inspired, themeable component library I built.

Hey everyone,

I have been using Streamlit for a while now and genuinely love it. But one thing always
bothered me. Every app looks the same. The moment someone opens your app they know it
was built with Streamlit.

That was enough of a problem for me that I spent the last couple of weeks building
streamlit-facade.

The idea is simple. You call theme.apply() once, pick a preset or define your own colors,
fonts, and radius, and every component inherits it automatically. No CSS files. No Node.
No npm. Just Python.

What is in it right now:

  • 20+ components including Button, Card, Alert, Badge, Input, Tabs, Accordion, Sidebar and more
  • 11 built-in presets each with a light and dark variant
  • 76 named icons that work the same way across all components
  • LLM ready context file for Claude, ChatGPT and Cursor

The docs site is built entirely with facade itself so you can see it live before installing anything.

pip install streamlit-facade
facade-docs.streamlit.app

Would love feedback from this community especially. You all know Streamlit better than
anyone. What components are you missing? What would make this actually useful for your
workflow?

2 Likes

Thanks for publishing that. It adds more visual variety for Streamlit.

I made a showcase. It is published at https://aifab-facade.streamlit.app/

I added another theme called ‘electric’.

Repo: GitHub - truevis/aifab-facade · GitHub

The showcase loads indefinitely, can you please check? @truevis

My app was rewriting config.toml, which worked okay on localhost but doesn’t work on Streamlit Cloud. Now I just have it give the suggested config.toml file, even though the control colors may need config.toml .

Still needs some work.

Thanks for sharing this truevis, looks lovely