WARDROBE AI is an AI wardrobe recommendation PWA that combines a Node.js / Express backend, PostgreSQL on Supabase, JWT auth, and a rule-based styling engine for color season, occasion, silhouette, material, and seasonal outfit guidance.
- PWA Demo: https://wardrobe-ai-pwa-v2.onrender.com
- API Test: https://wardrobe-ai-pwa-v2.onrender.com/api/test
- Database Health: https://wardrobe-ai-pwa-v2.onrender.com/api/health/db
- Mobile Demo Checklist: docs/MOBILE_DEMO_CHECKLIST.md
Render Free services may cold start after inactivity. For interviews, open the demo 5-10 minutes before presenting.
The project was repositioned from an APK-only mobile demo into a phone-friendly PWA, so it can be opened directly from iPhone Safari, Android Chrome, or a desktop browser during interviews and portfolio reviews.
- Production PWA is deployed on Render.
- Production database is deployed on Supabase.
- Render health checks and database-backed endpoints are verified.
- Mobile API base URL points to the new production service.
- GitHub README, release notes, mobile demo checklist, and infrastructure notes are updated for portfolio use.
Verified endpoints:
/ 200
/api/test 200
/api/health/config 200
/api/health/db 200
/api/meta/seasons 200
/api/meta/occasions 200
/api/meta/materials 200
- AI outfit recommendation flow for occasion and season.
- 12 color-season reference system.
- Wardrobe item attributes for category, color, material, silhouette, pattern, drape, style tags, and season tags.
- Personalized profile inputs for color season, skin tone, and body type.
- Outfit history and feedback loop for future recommendation tuning.
- PWA deployment for phone-based live demonstration.
- Frontend: Expo, React Native, TypeScript, Expo Web / PWA
- Backend: Node.js, Express
- Database: PostgreSQL / Supabase
- Auth: JWT access token and refresh token
- Deployment: Render
- Container: Docker / docker-compose
- Testing: Node-based backend verification and production endpoint checks
Create an account and get a token:
curl -X POST https://wardrobe-ai-pwa-v2.onrender.com/api/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"demo-password-123"}'Recommendation request:
POST /api/recommend
Authorization: Bearer <access_token>
Content-Type: application/json{
"occasion": "work_daily",
"season": "summer",
"top_n": 3
}Example response shape:
{
"recommendations": [
{
"score": 8.7,
"outfit": {
"layers": [],
"bottom": null,
"accessories": {}
},
"analysis": ["color harmony", "occasion fit", "season fit"]
}
]
}npm install
npm startCreate a local environment file from the example:
cp .env.example .envPWA build:
cd mobile
npm install
npm run build:webThe server serves both the API and the generated PWA static files.
Build and run the app container:
docker build -t wardrobe-ai .
docker run --env-file .env -p 3000:3000 wardrobe-aiRun app + local PostgreSQL:
docker compose up --buildThe compose file starts PostgreSQL for local development. Apply the database schema from db/ before testing database-backed endpoints locally.
npm run verify:productionManual production checks:
https://wardrobe-ai-pwa-v2.onrender.com/
https://wardrobe-ai-pwa-v2.onrender.com/api/test
https://wardrobe-ai-pwa-v2.onrender.com/api/health/config
https://wardrobe-ai-pwa-v2.onrender.com/api/health/db
https://wardrobe-ai-pwa-v2.onrender.com/api/meta/seasons
https://wardrobe-ai-pwa-v2.onrender.com/api/meta/occasions
https://wardrobe-ai-pwa-v2.onrender.com/api/meta/materials
WARDROBE AI is the main full-stack AI product in the 30-day GitHub portfolio plan. The project now satisfies the interview demo requirement: it can be opened from a phone as a live, hosted, database-backed PWA.



