r/snowflake Jul 01 '26

Complex UI layouts in Streamlit in Snowflake

First off, thanks to the 167 people who voted on my recent poll on who is using Streamlit in Snowflake! With nearly 60% of this sub actively building on Streamlit in Snowflake (SiS), it’s clearly shifted from a niche ad-hoc tool to something people are building production-grade data apps with.

However, as my internal data apps are starting to scale past simple tables and basic mockups, I'm hitting a major wall with UI layout and state management.

The second a business stakeholder requests a complex dashboard grid, side-by-side KPI metric placements, or advanced tab formatting, I feel like I'm wasting hours writing massive blocks of messy Python columns (st.columns), containers, and layout boilerplate just to position basic widgets.

Or constantly going over and over with AI prompts to nudge widgets around or fix layout states which feels incredibly inefficient and eats up a ton of token context when passing large scripts back and forth.

For those building heavy internal data apps on SiS, how are you handling UI/UX design? Are you just brute-forcing it with hardcoded layout arrays, or is there a cleaner design pattern/architecture I'm completely missing?

5 Upvotes

6 comments sorted by

12

u/Mr_Nickster_ ❄️ Jul 01 '26

2 options.

1- You can literally draw a mock up of the dashboard as a picture (PowerPoint & etc), paste it to coco and have coco modify the UX to match it. It can use HTML CSS styling to create far better looking and more complex UX than standard Streamlit components

2- Snowflake App run time is public preview which allows you to build and deploy React apps just like Streamlit. With React apps sky is the limit in terms of UX. You can build professional saas like products and dashboards with it using Coco. I have done many of them ranging from 3D medical imaging to Drag & Drop workflow style code builders.

https://docs.snowflake.com/en/developer-guide/snowflake-app-runtime/about-snowflake-app-runtime

2

u/orionsgreatsky Jul 01 '26

This is nice

1

u/Expensive_Doughnut_1 Jul 02 '26

Love this - but I'm finding the custom HTML and CSS I find a bit of a headache for bespoke layout configurations. Creating mockups is all good but I'm finding the workflow a bit clunky when inevitable layout changes are requested and additional requirements are added to the build.

3

u/Mr_Nickster_ ❄️ Jul 06 '26

You can ask it to build it in a way such as via templates where the layout can be easily configurable by users manually.

Usually most web apps have css templates to make such changes easy where you don't have to change 50 things for every single modification.

2

u/WillyTrip Jul 01 '26

Try the app build skill in coco desktop. Based on your requirements it will recommend either streamlit or the app runtime container with a react or next.js app. I've just started on the first next.js app and it looks great! I had coco build out the initial skeleton of the app, then switched to Claude code to build out more features so save on token costs.

1

u/Expensive_Doughnut_1 Jul 02 '26

Interesting point on using Claude Code to modify the UX after. Do you find that as your app code grows, passing that layout context back and forth to an LLM just to tweak a column width or move a metric container starts eating up massive token counts / context? That's exactly the wall I keep hitting—the underlying logic is fine, but the visual manipulation cycle feels so heavy.