I recently participated in the @DeepnoteHQ x @streamlit Data App Challenge and am excited to share my project:
๐งUnraveling Global Water Crisis
Access essential insights and critical realities of Global Water Stress and receive immediate answers to your queries with AquaMind AI!
๐ธ With parallel=True, Streamlit fragments render concurrently, resulting in more responsive multi-chart dashboard apps
One of my favorite newer features from Streamlit 1.58 ๐
Months of building and shipping AI systems made me realize - one thing that makes agentic workflows work is good old best devops practices.
If you do not have proper tooling, clean (and also well-defined) processes, and ephemeral environments set up, an AI agent cannot run or help you reliably. Be it agentic SDLC, running evals, phased agent rollouts, circuit breakers, database access, or anything else.
Think about what an agent actually needs to do good work. It needs a safe place to run code, a fast feedback loop to know if something broke, and clear boundaries between development, staging, and production.
Most skip this and go straight to "let the agent write and deploy code." Then they hit weird failures, lose trust in the system (and even AI), and quietly give up on agentic workflows altogether.
The fix is not about AI at all. It is the same old devops discipline that made human engineering teams reliable in the first place.
Good things die hard :)
Enjoy not knowing.
Not everything deserves your attention. You know where you are heading. You know what you want to achieve. If something lies on that path, learn it. If it does not, let it go.
People who are "productive" are not the ones who know everything, but the ones who know exactly what they do not need to know.
There is a quiet wisdom in choosing what to ignore and maintaining a better signal-to-noise ratio.
AI has made it easier to write optimized code on day 0, but it is creating a new problem...
Ask an LLM to write some code, and it will often reach for the most "correct" version - caching, batching, async, configurable strategies. Code that looks staff-level from the first commit.
If you keep probing it to optimize further, it will come up with such absurd optimizations that you may not have even heard of.
Most of these optimizations solve a problem you do not have yet. A function handling 50 records a day does not need a connection pool, a retry queue, and a pluggable backend. It needs to work and be readable.
To be honest, we engineers have always over-engineered, but AI has lowered the cost of writing the complex version to nearly zero, so the lazy default (write the simple thing first) no longer feels lazy. It feels like leaving performance on the table.
The result is codebases full of abstractions nobody asked for. Interfaces with a single implementation. Generic configs for cases that will never change. Vector operations and macros no one asked for.
The skill that matters now is not writing optimized code. It is knowing when to stop optimizing. Premature optimization used to be expensive enough that most people avoided it by default. Now it is one prompt away.
Good engineering judgement is about knowing which optimizations the problem in front of you actually needs.
Hope this helps.
โค๏ธ Know someone who's made a meaningful impact in the Streamlit or Snowflake community?
Nominate them for a Snowflake Community Award! ๐
Six categories include: Technical Educator, AI Excellence, Open Source Impact, and more.
Submit here by July 1: https://t.co/fvDrbgSO9Q
Snowflake Community Awards nominations are open.
If someone in the Snowflake or Streamlit community has helped you learn, build, or ship faster, nominate them here:
https://t.co/0IMq9Qs2GM
@streamlit@snowflake
@Google Lighthouse is one of those tools every web developer should know.
It audits your site for:
โก Performance
โฟ Accessibility
๐ SEO
๐ก๏ธ Best Practices
Built into Chrome and free to use.
https://t.co/srhQG5Ntq8
HR is the only profession that is not evolving in India.
Recently, I was in a discussion with an HR for an MLOps consultant position at a UK-based company.
First, she rejected me because of salary expectations. Today, she rejected me because they are looking for a senior.
Hypocrisy at its peak!
They want someone who will work at lower compensation but has senior engineer experience.
This is budget hiring, not value hiring. Most HRs donโt know the demand and supply for ML engineers.
This is why excellent candidates are not getting jobs just because of HRs who donโt understand the tech market and demand-supply dynamics.
Their goal is just to collect resumes, make calls to meet daily targets, and match skilled people with lower compensation.
No wonder people donโt choose Indian corporates.
PROOF: Two weeks without mobile internet reversed ~10 years of attentional decline.
Mental health improvement: larger than most antidepressants.
โ Participants blocked mobile internet
โ Attention, mental health, and well-being all improved significantly
โ Effect sizes exceeded typical antidepressant benchmarks
โ Benefits held even for the delayed intervention group
It was just turning off mobile internet. NOT a detox.
This makes it interesting: Attention isn't broken. It's being stolen. And the fix has been sitting in airplane mode this whole time.
As for myself I agree, when my phone is in airplane mode I am so much more productive - I am actually thinking!
Paper: https://t.co/mKl2gwoRUi
Streamlit 1.55
๐ฟ Introducing dynamic containers:
st.tabs, st.popover, and st.expander can rerun the app on open/close by setting the on_change parameter + programmatically open/close when given a key.
๐ Announcing widget binding:
Most non-trigger widgets now have a bind parameter to simplify syncing widget state with URL query parameters.
And more: https://t.co/tRKnC4mNmQ
๐ Streamlit 1.54 is here!
Highlights:
๐จ Use custom theme colors in simple chart elements
๐ฅท Widgets now use key-based identity to prevent unwanted resets
๐ st.logo now supports Material icons and emojis
๐ New client.showErrorLinks to configure display of error help links
Explore the full release: https://t.co/3esKwBK4yx
Day 30 of #30DaysOfAI: WE MADE IT! ๐๐
Congratulations โ you're completing all 30 days!
Today's finale: Structured output with @pydantic
- Type-safe LLM responses
- No more JSON parsing
- IDE autocomplete works!
New learners: Start any time. All 30 days are waiting for you!
๐งต Day 29 of #30DaysOfAI w/ @streamlit
Almost there! One more day after this. ๐
Today: Rebuilding Day 5's LinkedIn Post Generator with @LangChain.
Day 28 of #30DaysOfAI w/ @streamlit
Today we're taking a break from heavy technical coding.
Instead, we're vibe coding ๐ต with AGENTS dot md
With this the AI instantly becomes a Streamlit expert.
AI is not here to replace developers, it's just amplifying their capabilities!
Day 27/30 #30DaysOfAI
Your AI agent can explain its thinking now ๐ง
Build a multi-orchestration chatbot that shows:
โ Agent's thought process
โ Which tool it picks
No if/else routing. Just autonomous orchestration.
#Streamlit#CortexAgents
Day 26/30 of #30DaysOfAI w/ @streamlit ๐
I spent some time setting up my first Cortex Agent.
Not using it. Just setting it up.
10 sales conversations. 10 deals. 2 tools. 1 agent.
Here's what it takes to build autonomous AI infrastructure: ๐งต
Day 25/30 of #30DaysOfAI w/ @streamlit
Yesterday AI learned to see ๐. Today it learns to hear ๐!
Today, you'll build a voice-enabled AI assistant:
โ Record voice messages
โ Auto-transcribe (AI_TRANSCRIBE)
โ Context-aware responses
โ Full chat memory
Links in the comment
Day 24/30 #30DaysOfAI w/ @streamlit
Your AI just learned to see ๐
No more text-only LLMs. Today your learning multimodal magic!
๐ธ Describe images
๐ OCR anything
๐ฏ Find objects
๐ Analyze charts
Upload โ App โ AI analysis
โฌ See code in the comments โฌ