How vudigapranav/closiq works
CLOSIQ is a wardrobe-based AI styling app, with the Expo mobile app as its primary surface and an earlier web companion. The main workflow is account/onboarding, garment capture and cataloging, then personalized outfit generation, saving, and planning. The mobile app also provides weather-aware daily recommendations and profile insights. AI requests are proxied through an authenticated Node backend; Supabase provides auth, cloud data, and image storage, with AsyncStorage supporting offline reads and pending writes. The graph reflects README-described capabilities where source excerpts were not sampled; those uncertain internal call links are omitted.
Main entry points: App.tsx App navigation · apiRouter.js AI API dispatch · wardrobeStorage.ts Wardrobe sync · savedOutfitsStorage.ts Saved looks
Components 25
Mobile app
- App navigation
mobile/App.tsx - Sign in
mobile/src/screens/LoginScreen.tsx - Onboarding
mobile/src/screens/OnboardingScreen.tsx - Wardrobe collection
mobile/src/screens/CollectionScreen.tsx - Today recommendations
mobile/src/screens/TodayScreen.tsx - AI stylist
mobile/src/screens/StylistScreen.tsx - Event planner
mobile/src/screens/PlannerScreen.tsx - Profile settings
mobile/src/screens/ProfileScreen.tsx
Wardrobe and styling
- Garment analysis
mobile/src/services/visionAnalysis.ts - Outfit generation
mobile/src/services/outfitStylist.ts - Weather service
mobile/src/services/weatherService.ts
AI backend
- AI API dispatch
server/apiRouter.js - Gemini handlers
server/geminiServer.js - Gemini
Data and integrations
- Auth session
mobile/src/services/authService.ts - Wardrobe sync
mobile/src/services/wardrobeStorage.ts - Saved looks
mobile/src/services/savedOutfitsStorage.ts - Planner sync
mobile/src/services/plannerStorage.ts - Profile sync
mobile/src/services/userProfileStorage.ts - Offline cache
mobile/src/services/wardrobeStorage.ts - Supabase
- Open-Meteo
Web companion
- Web prototype
src/App.tsx - Web AI proxy
src/services/ai/geminiClient.ts
Other components
- User
Connections 36
- User → App navigation: uses
- App navigation → Sign in: shows
- App navigation → Onboarding: shows
- App navigation → Wardrobe collection: shows
- App navigation → Today recommendations: shows
- App navigation → AI stylist: shows
- App navigation → Event planner: shows
- App navigation → Profile settings: shows
- Sign in → Auth session: authenticates
- Onboarding → Profile sync: saves profile
- Wardrobe collection → Wardrobe sync: manages garments
- Wardrobe collection → Garment analysis: analyzes photo
- AI stylist → Outfit generation: requests looks
- AI stylist → Saved looks: saves looks
- Today recommendations → Weather service: gets weather
- Today recommendations → Wardrobe sync: reads wardrobe
- Event planner → Planner sync: manages events
- Profile settings → Profile sync: loads profile
- Profile settings → Saved looks: loads looks
- Wardrobe sync → Supabase: reads and writes
- Saved looks → Supabase: reads and writes
- Planner sync → Supabase: reads and writes
- Profile sync → Supabase: reads and writes
- Wardrobe sync → Offline cache: caches wardrobe
- Saved looks → Offline cache: caches looks
- Planner sync → Offline cache: caches events
- Profile sync → Offline cache: caches profile
- Auth session → Supabase: uses auth
- Garment analysis → AI API dispatch: requests analysis
- Outfit generation → AI API dispatch: requests outfits
- AI API dispatch → Gemini handlers: dispatches
- AI API dispatch → Supabase: verifies token
- Gemini handlers → Gemini: calls
- Weather service → Open-Meteo: fetches forecast
- Web prototype → Web AI proxy: requests AI
- Web AI proxy → AI API dispatch: posts requests