Wardrobe AI is a personal wardrobe management and outfit recommendation application built with React, Vite, SQLite, and locally-hosted AI models through Ollama.
The application allows users to:
- Build and manage a digital closet
- Add clothing manually or through AI-assisted image analysis
- Generate outfit recommendations based on available wardrobe items
- Track clothing combinations and outfit history
- Maintain complete ownership of wardrobe and AI data through local hosting
No cloud AI services or paid API subscriptions are required.
-
Add, edit, and remove clothing items
-
Categorize items as:
- Shirts / Tops
- Pants
- Shoes
-
Store:
- Name
- Color
- Pattern
- Style / Cut
- Color swatch
- Image
Upload an image and allow a locally-hosted vision model to:
- Identify clothing type
- Estimate color
- Detect patterns
- Suggest clothing attributes
The user can review and correct AI-generated information before saving.
Generate outfit combinations using:
- Current wardrobe inventory
- Color harmony principles
- Existing outfit history
- Clothing availability
Recommendations are generated entirely through a self-hosted AI model.
Wardrobe data is stored locally in SQLite.
Benefits:
- No cloud storage required
- Full data ownership
- Fast performance
- Offline functionality on local network
- React
- Vite
- JavaScript
- Node.js
- Express
- SQLite
- Ollama
- llama3 (text generation)
- llava-llama3 (vision analysis)
- Docker
- Open WebUI
wardrobe-ai/
│
├── src/
│ ├── api/
│ │ ├── aiClient.js
│ │ └── wardrobeApi.js
│ │
│ ├── App.jsx
│ └── main.jsx
│
├── server/
│ ├── server.cjs
│ ├── db.cjs
│ └── wardrobe.db
│
├── package.json
├── vite.config.js
└── README.md
Install:
- Node.js 22+
- Git
- Ollama
- Docker Desktop (optional)
git clone <repository-url>
cd wardrobe-ainpm installnpm install express cors sqlite3Download and install:
Verify installation:
ollama --versionText Model:
ollama pull llama3Vision Model:
ollama pull llava-llama3Verify:
ollama listollama serveFrom the project root:
npm run serverExpected output:
Wardrobe API running on port 3001
Connected to wardrobe database.
Open a second terminal:
npm run devExpected output:
Local:
http://localhost:5173
If devices are on the same Wi-Fi network:
Find your laptop IP:
ipconfigLook for:
IPv4 Address
Example:
10.0.0.196
Open Wardrobe AI from another device:
http://10.0.0.196:5173
Examples:
- Tablet
- Android phone
- iPhone
- Secondary laptop
Wardrobe information is stored in:
server/wardrobe.db
This database contains:
- Clothing items
- Outfit history
- Future application data
Backing up this file preserves the user's wardrobe.
Current default models:
Text:
llama3
Vision:
llava-llama3
Configuration can be modified in:
src/api/aiClient.js
Planned features:
- Outfit history analytics
- AI feedback learning system
- Shopping assistant mode
- Remote access outside home network
- User profiles
- Cloud backup options
- Mobile-first UI refinements
- Wardrobe statistics dashboard
This project is intended for personal learning and development purposes.
Modify and extend as needed.