How sofie-kirk22/matchmuse-next works
MatchMuse is a wardrobe-management and AI outfit-generation web app. Its main workflow is to add clothing images to a categorized closet, derive searchable garment metadata, filter and generate an outfit, then log wears and review usage insights. The graph follows the documented product capabilities and sampled route implementations; some UI-to-API wiring and unsampled page details are inferred only at the feature level, so uncertain internal call chains are omitted.
Main entry points: db.ts Postgres database · [category]/route.ts Closet API · outfitGenerator.tsx Outfit generator · generate/route.ts Outfit generation API
Components 23
Web experience
- Home and generator
src/app/page.tsx - Closet page
src/app/closet/page.tsx - Statistics page
src/app/statistics/page.tsx
Digital closet
- Closet manager
src/app/components/closetManager.tsx - Category views
src/app/components/closetCategoryContent.tsx - Closet API
src/app/api/closet/[category]/route.ts - Garment metadata
src/lib/garment-prompts.ts
Outfit styling
- Filter options API
src/app/api/outfitFilters/route.ts - Outfit filters
src/app/components/outfitFilters.tsx - Outfit generator
src/app/components/outfitGenerator.tsx - Outfit generation API
src/app/api/outfit/generate/route.ts - Generated preview
src/app/components/outfitPreview.tsx
Wear insights
- Log outfit form
src/app/components/logOutfitForm.tsx - Outfit history
src/app/components/outfitHistory.tsx - Wear log API
src/app/api/garmentWears/route.ts - Delete wear API
src/app/api/garmentWears/[id]/route.ts - Usage statistics API
src/app/api/statistics/route.ts - Analytics summary API
src/app/api/statistics/summary/route.ts - Statistics views
src/app/components/statisticsSummary.tsx
Data and integrations
- Postgres database
src/lib/db.ts - Vercel Blob
- OpenAI API
Other components
- Wardrobe user
Connections 29
- Wardrobe user → Home and generator: opens
- Wardrobe user → Closet page: manages wardrobe
- Wardrobe user → Statistics page: reviews usage
- Closet page → Closet manager: renders
- Closet manager → Category views: shows categories
- Category views → Closet API: manages garments
- Closet API → Vercel Blob: stores images
- Closet API → Garment metadata: analyzes image
- Garment metadata → OpenAI API: requests metadata
- Closet API → Postgres database: reads and writes
- Home and generator → Outfit generator: renders
- Outfit generator → Outfit filters: offers filtering
- Outfit filters → Filter options API: loads valid options
- Filter options API → Postgres database: reads garments
- Outfit generator → Outfit generation API: requests outfit
- Outfit generation API → Postgres database: selects garments
- Outfit generation API → OpenAI API: generates image
- Outfit generation API → Vercel Blob: stores result
- Outfit generator → Generated preview: displays result
- Log outfit form → Wear log API: logs garments
- Outfit history → Wear log API: loads wear logs
- Outfit history → Delete wear API: deletes log
- Wear log API → Postgres database: reads and writes
- Delete wear API → Postgres database: deletes log
- Statistics page → Statistics views: renders insights
- Statistics views → Usage statistics API: loads rankings
- Statistics views → Analytics summary API: loads summaries
- Usage statistics API → Postgres database: aggregates wear data
- Analytics summary API → Postgres database: aggregates wear data