Side project
VESTIQ
A wardrobe app that digitises your clothes, picks outfits for the weather and the occasion, and tells you when not to buy.
- Role
- Designed and developed
- Timeline
- Oct 2026 – present
- Status
- In development
Private codebase · walkthrough on request
- Expo (React Native)
- TypeScript
- Python
- FastAPI
- Supabase
- PostgreSQL
- pgvector
- OpenAPI
- garment archetypes
- 120garment archetypes
- architecture decision records
- 10architecture decision records
- photos sent to third-party AI
- 0photos sent to third-party AI
Context
Most people wear a fraction of what they own and still feel they have nothing to wear. VESTIQ photographs your clothes, recognises each garment, and suggests outfits for your actual day (occasion and weather), learning from what you wear. Before you buy something it answers one question honestly: will this work with what you already have?
Key requirements
| ID | Type | Requirement |
|---|---|---|
| FR-01 | Functional | Capture a garment photo, cut it out on the phone, and tag type, colour and pattern. |
| FR-02 | Functional | Suggest today's outfits from the occasion and the forecast, including rain and out-of-season rules. |
| FR-03 | Functional | "Should I buy this?": score a candidate item against the existing wardrobe. |
| NFR-01 | Non-functional | Privacy: user photos are never sent to a third-party AI service; tagging runs on our own engine. |
| NFR-02 | Non-functional | Isolation: every table has row-level security and a test proving users can't read each other's data. |
| NFR-03 | Non-functional | Contracts first: API shapes are defined once in OpenAPI; CI fails if generated types drift. |
Architecture
- Mobile app
- Capture
- On-device segmentation
- Offline cache
- Feedback
- Supabase
- Auth
- Postgres + RLS
- Private storage
- Queues
- Fashion engine
- Outfit scoring
- Garment tagging
- Purchase evaluation
- Workers
External
- Weather provider
- Store search links
The app never computes a recommendation; all business logic lives in the engine.
Status
In personal use on Android with a standalone build; free hosting on Supabase and Render for use away from home. Store release depends on how it performs in daily use.
Artefacts I produced
- Product and engineering plan
- OpenAPI contract
- 10 architecture decision records
- Row-level security tests
- Architecture map