--- title: What to Wear — Clothing Recommendation Agent emoji: 🧥 colorFrom: indigo colorTo: blue sdk: streamlit sdk_version: 1.44.1 app_file: app.py pinned: false --- ![CD to HF Space](https://github.com/serverdaun/what_to_wear/actions/workflows/deploy_to_spaces.yml/badge.svg) # What to Wear — Clothing Recommendation Agent This application is a smart outfit recommendation assistant built with Streamlit and a code-based agent architecture. It provides personalized clothing suggestions based on real-time weather conditions in a user-specified city. P.S. You don't have to look out the window anymore :) ## Live Demo Try the application live on Hugging Face Spaces: [https://huggingface.co/spaces/serverdaun/what_to_wear](https://huggingface.co/spaces/serverdaun/what_to_wear) ## Features - Fetches hourly weather forecast for the selected city - Uses an LLM-based agent to reason over weather and user data - Suggests three stylish outfits: top, bottom, shoes, accessories - Interactive UI built with Streamlit ## Installation 1. Clone the repository: ```bash git clone https://github.com/yourusername/what_to_wear.git cd what_to_wear ``` 2. Create and activate a virtual environment: ```bash python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate ``` 3. Install the dependencies: ```bash pip install -r requirements.txt ``` 4. Add your Hugging Face token in a `.env` file: ```env HF_TOKEN=your_huggingface_api_token ``` ## Running the App To launch the app: ```bash streamlit run app.py ``` Then open [http://localhost:8501](http://localhost:8501) in your browser. ## User Inputs - **City** (e.g., Prague) - **Age** (e.g., 25) - **Gender** (Male / Female) ## Output Format The app returns three outfit suggestions, each including: - `style`: The overall theme of the outfit (e.g., Casual, Sporty, Business Casual) - `top`: Shirt, t-shirt, or similar - `bottom`: Pants, shorts, etc. - `shoes`: Footwear - `accessories`: A list of optional accessories (e.g., sunglasses, belts) ### Example output: Below is a screenshot of the output in UI: ![Outfit Recommendation Screenshot](assets/example_output.png) ## Notes - The app uses Open Meteo API via the `get_weather_forecast` tool to fetch 24-hour weather forecasts. - Outfit ideas are generated by a Hugging Face-powered LLM agent, orchestrated by `smol-agents`. ## License MIT License