Skip to content

Latest commit

Β 

History

History
141 lines (102 loc) Β· 4.85 KB

File metadata and controls

141 lines (102 loc) Β· 4.85 KB

30 Days Of AI with Streamlit 🎈

Welcome to #30DaysOfAI β€” a comprehensive 30-day challenge to learn, build, and deploy AI-powered applications using Streamlit and Snowflake Cortex AI.

🎯 What You'll Build

Master AI app development from chatbots to production-ready RAG systems and intelligent agents.

πŸ“ Challenge Rules

  1. Access the daily challenge

  2. Build the app following daily instructions

  3. Share your progress on social media with #30DaysOfAI

  4. Complete all 30 days and DM Chanin Nantasenamat or Jessica Smith

  5. Get recognized in the Hall of Fame πŸ† (+ possible swags and stickers!)

πŸš€ Getting Started

Prerequisites

  • Python 3.11, 3.12 (3.13 will work if llvmlite, numba are installed)
  • Snowflake free trial (120 days of credits)
  • Basic Python knowledge
  • Enthusiasm for AI! 🧠

Locally

  1. 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
    
  2. Configure Snowflake secrets

    Create .streamlit/secrets.toml in 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.toml to .gitignore β€” never commit secrets!

  3. Run the app

    cd app
    streamlit run day1.py

In Snowflake

Recommended for production β€” no secrets setup needed!

  1. Navigate to Snowsight β†’ Streamlit
  2. Create new Streamlit app
  3. Copy code from app/dayX.py
  4. Run in Snowflake

Benefits:

  • βœ… Automatic authentication
  • βœ… Production-ready by default
  • βœ… Inherits Snowflake security

πŸ“ Repository Structure

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

πŸ› οΈ Technologies

πŸ“š Resources

Official Documentation

Community

🀝 Contributing

Found an issue? Contributions are welcome!

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/improvement)
  3. Make your changes
  4. Submit a pull request

Ready to start?

  1. πŸ”§ Set up your connection - Configure Snowflake
  2. πŸš€ Begin Day 1 - Build your first app
  3. πŸŽ‰ Share your progress on social with #30DaysOfAI

Have questions? Open an issue or join the Streamlit Community Forum.