Welcome to #30DaysOfAI — a comprehensive 30-day challenge to learn, build, and deploy AI-powered applications using Streamlit and Snowflake Cortex AI.
Master AI app development from chatbots to production-ready RAG systems and intelligent agents.
-
Access the daily challenge
- 💻 Code: github.com/streamlit/30daysofai
- 🕹️ Instructions: 30daysofai.streamlit.app
-
Build the app following daily instructions
-
Share your progress on social media with #30DaysOfAI
-
Complete all 30 days and DM Chanin Nantasenamat or Jessica Smith
-
Get recognized in the Hall of Fame 🏆 (+ possible swags and stickers!)
- Python 3.11, 3.12
- Snowflake free trial (120 days of credits)
- Basic Python knowledge
- Enthusiasm for AI! 🧠
-
Install dependencies
pip install -r requirements.txt # or with uv: uv pip install -e .
requirements.txt:streamlit==1.52.0 snowflake-ml-python==1.20.0 snowflake-snowpark-python==1.44.0 -
Configure Snowflake secrets
Create
.streamlit/secrets.tomlin your project root:[connections.snowflake] account = "your_account_identifier" user = "your_username" password = "your_password" role = "ACCOUNTADMIN" warehouse = "COMPUTE_WH" database = "your_database" schema = "your_schema"
Important: Add
.streamlit/secrets.tomlto.gitignore— never commit secrets! -
Run the app
cd app streamlit run day1.py
Recommended for production — no secrets setup needed!
- Navigate to Snowsight → Streamlit
- Create new Streamlit app
- Copy code from
app/dayX.py - Run in Snowflake
Benefits:
- ✅ Automatic authentication
- ✅ Production-ready by default
- ✅ Inherits Snowflake security
30days-genai-master/
├── app/ # Streamlit applications (day1.py - day30.py)
├── md/ # Detailed lesson documentation (day1.md - day30.md)
├── toml/ # Configuration files for specific lessons
├── pyproject.toml # Python dependencies
└── README.md # This file
Each day includes:
- 📱 App file (
app/dayX.py) - Complete, runnable code - 📖 Documentation (
md/dayX.md) - Step-by-step explanations - 💡 Key concepts - What you'll learn and why it matters
- Streamlit - Fast, beautiful web apps for ML and data science
- Snowflake Cortex AI - LLM functions and AI services
- Cortex Search - Semantic search service
- Cortex Analyst - Natural language to SQL
- Cortex Agents - Autonomous AI agents
- TruLens - LLM evaluation and observability
- Streamlit Documentation
- Streamlit Cheat Sheet
- Snowflake Cortex AI
- Cortex Agents Guide
- TruLens Documentation
- Streamlit Gallery - Inspiration and templates
- Streamlit Community Forum - Ask questions
- Snowflake Community - Connect with others
Found an issue? Contributions are welcome!
- Fork this repository
- Create a feature branch (
git checkout -b feature/improvement) - Make your changes
- Submit a pull request
- 🔧 Set up your connection - Configure Snowflake
- 🚀 Begin Day 1 - Build your first app
- 🎉 Share your progress on social with #30DaysOfAI
Have questions? Open an issue or join the Streamlit Community Forum.