Your Personal AI Stylist & Wardrobe Manager
Upload clothing photos, remove backgrounds automatically, classify garments with AI vision, and get weather-aware outfit recommendations — all in one app.
| Feature | Description |
|---|---|
| Smart Upload | Upload clothing photos, auto-remove backgrounds with rembg, analyze category, color, and style via AI vision models |
| Weather-Based Styling | Integrates free global weather data (Open-Meteo) to generate outfit suggestions based on real-time conditions |
| Digital Wardrobe | Browse, search, and manage your clothing in a structured wardrobe view |
| AI Recommendations | Supports Gemini and OpenAI-compatible providers for personalized outfit generation |
| Recommendation Modes | Switch between balanced, goal_first, and wardrobe_first to match different styling priorities |
| Explainable Picks | Shows selection reasons for top/bottom/shoes so each outfit choice is traceable |
| Voice Goal Input | Use microphone input for scenarios like commute/date/sport to guide recommendation intent |
| Responsive UI | Optimized for desktop, tablet, and mobile with a modern Tailwind CSS interface |
| Frontend | React + Vite + Tailwind CSS |
| Backend | FastAPI + SQLite |
| AI | Google Gemini / OpenAI-compatible APIs + rembg |
| Deploy | Docker / Docker Compose (amd64 & arm64) |
- Node.js
v20+| Pythonv3.10+ - Google Gemini API Key or an OpenAI-compatible API key
git clone https://github.com/leoz9/AIWardrobe.git
cd AIWardrobe# Backend
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cd ..
# Frontend
cd frontend && npm install && cd ..# One-command start (macOS/Linux)
chmod +x start.sh && ./start.sh
# Windows
start.batAfter startup:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
Then open Settings in the UI to fill API Base/API Key/Model visually.
Manual start (separate terminals)
# Terminal 1: Backend
cd backend && source venv/bin/activate
uvicorn main:app --host 0.0.0.0 --reload --port 8000
# Terminal 2: Frontend
cd frontend && npm run devGET /api/recommendation
Common query params:
location: city string or coordinatesmode:balanced|goal_first|wardrobe_firstgoal: optional scenario, e.g.commute,date,sport,interview
Example:
curl "http://localhost:8000/api/recommendation?location=Shanghai,Shanghai,China&mode=goal_first&goal=commute"Response highlights:
mode: applied recommendation modegoal_raw/goal_normalized: user goal and normalized intentselection_reasons: explainable reasons for top/bottom/shoes selection
docker build -t aiwardrobe:local .
docker run -d --name ai_wardrobe -p 8000:8000 \
-v $(pwd)/backend/uploads:/app/backend/uploads \
-v $(pwd)/backend/data:/app/backend/data \
aiwardrobe:localdocker pull ghcr.io/leoz9/aiwardrobe:latest
docker run -d --name ai_wardrobe -p 8000:8000 \
-v $(pwd)/backend/uploads:/app/backend/uploads \
-v $(pwd)/backend/data:/app/backend/data \
ghcr.io/leoz9/aiwardrobe:latestgit clone https://github.com/leoz9/AIWardrobe.git && cd AIWardrobe
docker compose up --build -dAccess at http://localhost:8000 | API docs at http://localhost:8000/docs
Data is persisted in backend/data and backend/uploads.
A few sample clothing images are included under backend/uploads/demo for quick体验.
Contributions are welcome! Feel free to open an Issue or submit a Pull Request.
MIT © 2024 leoz9



