Overview
Charms helps people organize their wardrobe, discover new pieces, and find clothing items again by what they look like, not just by how they were tagged.
The engineering challenge
Building useful visual search requires more than a model that recognizes clothing. Images need to be processed, indexed, stored, and retrieved efficiently while user-owned data remains isolated.
What I built
- Integrated CLIP-based zero-shot image classification to support visual understanding across a dataset of 50,000+ images.
- Developed backend services using Python and FastAPI, alongside Go services and a PostgreSQL data layer.
- Optimized image retrieval through Redis caching, storage improvements, and PostgreSQL row-level security (RLS).
- Designed data-access boundaries around user-owned wardrobe information.
Results
Retrieval latency dropped by roughly 40% after the caching and storage work.
What this demonstrates
Full-stack architecture, data modeling, AI integration, caching, and application performance optimization.