AI Projects•AI/ML DeveloperPersonal Project
Wallcurry AI Recommendation Model
ML-powered product recommendation engine built for an art platform with 10,000+ mural listings.
The Problem
Wallcurry, an art platform with 10,000+ mural listings, had no personalised discovery layer. Users browsed manually, engagement was low, and most works went unnoticed. Manual curation did not scale.
The Solution & Approach
- Used ResNet-50 (pretrained on ImageNet) to extract 512-dimensional visual feature embeddings for every mural image.
- Built a FAISS index for fast approximate nearest-neighbour search across the embedding space.
- Layered collaborative filtering on top of visual similarity using implicit user behaviour signals (views, clicks, purchases).
- Exposed recommendations via a Flask REST API integrated into the React frontend.
- Validated accuracy through a user feedback loop — rating whether recommended murals matched their taste.
System Architecture
Image → ResNet-50 → 512-dim embeddings → FAISS index → collaborative filtering re-ranking → Flask API → React UI
Tech Stack
PythonTensorFlowFAISSFlaskReactResNet-50NumPyPandas
Impact & Results
- ✦Recommendation accuracy improved from 72% → 88% (user feedback validation)
- ✦30% increase in mural purchases post-recommendation launch
- ✦45% of users now discovering content through recommendations rather than manual search
What I Learned
Building a recommendation engine taught me how to balance visual similarity with behavioural signals. Pure content-based filtering surfaces visually similar items but misses user intent — combining it with collaborative filtering significantly improved relevance. I also learned how FAISS enables real-time similarity search at scale without compromising latency.