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 (3.13 will work if
llvmlite,numbaare installed) - 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.