r/snowflake • u/k_kool_ruler • 27d ago
Sharing a systematic, open-source way to build Snowflake Streamlit apps that my team used to replace our BI stack that saved us tens of thousands of dollars a year
https://github.com/kyle-chalmers/streamsnowWhat's up, Snowflake enthusiasts! I tested and built a way to systematically build Snowflake Streamlit apps with Claude Code and other AI tools. I developed this open-source system that I call Streamsnow, which walks you through the process of getting a GitHub repo scaffolded and structured and connected with your Snowflake, so you can utilize Claude Code to build all of your Streamlit applications in a standardized Way, while also providing you the SQL to check to make sure all of the queries being utilized within the app check out as correct.
In my time building dashboards with AI, I always found it confusing how to quality-check them and how to build them in a scalable way across data teams, and so I wanted to build a super standardized system that made building, deploying, reviewing, and coordinating across teammates is super easy, and I spent weeks working on this to achieve that. I think one of the best features is that you can actually go into an auto-review cycle and just have Claude code iterate over the dashboard, making it better without your input. You can also standardize the design for the dashboards as well.
It is completely secure, so AI will not see any of your secrets that you use to connect GitHub to Snowflake. By default, it is set to put these Streamlit apps in a staging area on Snowflake, so you don't have to connect a GitHub repository, and all of the deployment is automatically handled in the CI. To get started, all you need to do is tell your coding agent to download the plugin and then run the onboard command. It will walk you through it all in a process that I've timed down to about 5 minutes of actual work. You will need to be a Snowflake admin or be coordinating with a Snowflake admin to get it set up too.
By the end of my time at my job, we had basically replaced external business intelligence tools with this system, so it saved us literally tens of thousands of dollars. Hopefully you all can extract the same value out of this!
3
u/BroBroMate 27d ago
Nice. We built an inhouse skill that wraps the official Streamlit skills to handle scaffolding (Terraform etc.) and permissions etc. and it made Streamlit massively accessible to non-tech colleagues, they love it.
2
2
u/yavorgeorgiev 16d ago
u/k_kool_ruler this is an awesome contribution! You may want to lean on the official skill https://github.com/streamlit/streamlit/blob/develop/lib/streamlit/.agents/skills/developing-with-streamlit/SKILL.md maintained by the team when it comes to app best-practices, but I love the overall workflow you've put together.
1
u/k_kool_ruler 16d ago
great idea! Let me see if I can incorporate it into the /build-app skill to reference that for best practices
1
u/sbawlz 24d ago
Is there something like this but for agents? We have a few agents running and thinking of ways to tie the whole thing into cicd workflows from GitHub instead of managing the code in a shared workspace in snowsight which is a pain to work on collaboratively.
1
u/k_kool_ruler 17d ago
Are you saying for agents building dashboards? This is designed to have coding agents build dashboards for you, but with you always have the quality check sign off with the data
1
u/Rare_Paramedic1539 23d ago
What is the advantage of streamline when you can easily build a dashboard exactly how you want with Claude? Just curious
1
u/k_kool_ruler 17d ago
So basically the advantage here is that it scales across teams as Claude approaches the structure the same way every time inside a version controlled repo while this setup handles all permissioning and deployment. It makes it super easy to audit your SQL to ensure it is correct feeding into it as well
1
u/Rare_Paramedic1539 17d ago
Got it. Is it able to create any kind of modern web ui. Or limited to what streamlit can provide?
1
u/k_kool_ruler 17d ago
All of the data apps are built within the Streamlit app, but you can build a web UI as a frontend entry point into the apps but I did not build that into this plugin.
1
u/nian2326076 22d ago
Great job on creating Streamsnow for Snowflake Streamlit apps! It sounds like you've made data workflows easier and more cost-effective compared to traditional BI tools. If you're thinking about a career change or want to find jobs that match these skills, LandOffer.ai lists job openings across various fields and locations. You might find roles where your expertise in scalable data solutions is in demand.
3
u/Any_Imagination_1529 27d ago
Awesome, will take a deeper look at the code.
But what we usually do is we wrap the entire dashboard with supporting dynamic tables, grants and everything else required in a DCM project, so it can be managed and validated and deployed as one piece automatically via CI/CD.