Technical Implementation
Flair's technical architecture built to scale the future of smart shopping
Flair Technical Architecture — Built to Scale the Future of Smart Shopping
Flair is a fashion-tech platform built by a small, highly efficient team using scalable, modular architecture. Every part of our stack is designed for fast iteration now and rapid scale later.
We're not a big corp—yet. But we're building like one.
System Overview
At the core, Flair is a modular, API-driven system composed of:
This setup gives us the flexibility to ship fast, test features in isolation, and layer in intelligence where it adds real value.
Data Collection & Aggregation (Scraping Infra)
We use a microservices scraping approach, allowing our agents to run in parallel across 18+ sources today. Each scraper is:
- Stateless, containerized via Docker
- Deployed as Azure Functions for burst-scraping with minimal cost
- Equipped with fallback Selenium for dynamic content when Scrapy fails
- Pushed to a Blob Storage staging layer, where scraped data is cleaned and normalized before ingestion
As of today, we're aggregating over 500,000 SKUs, updating at a pace of ~12,000 items/hour with an average parsing accuracy of 94%.
This gives us the foundation to power real-time feeds, drop alerts, and search across fast-changing inventory sources—even from platforms without public APIs.
Personalization & Recommendations
We're currently running a lightweight collaborative filtering system, powered by historical user-item interactions and metadata tags (color, style, brand, occasion, price).
User Profiling
Every interaction (scroll, click, save) feeds into a user vector
Product Clustering
Products are clustered using cosine similarity + hand-tuned filters
Performance Optimization
Results are cached by user segments to minimize latency on the frontend
The goal is to move toward hybrid models, combining behavioral + visual (image-based) inputs. Future plans include integrating a lightweight vision model (CLIP-based) to enable moodboard → product discovery via flair.ai.
System Architecture
Core Components
🌐 Frontend Layer
Next.js + TypeScript web application with React Native mobile support
🔗 API Gateway
GraphQL API with NestJS services handling business logic and data flow
🗄️ Database
PostgreSQL with optimized indexes and JSONB for flexible product data
🤖 Scraping Engine
Scrapy + Selenium deployed on Azure Functions for scalable data collection
🧠 ML Pipeline
Recommendation engine with collaborative filtering and visual embeddings
☁️ Infrastructure
Azure cloud services with Auth0, Datadog monitoring, and Sentry error tracking
Data Flow Architecture
User Request → Next.js Frontend → GraphQL Gateway → NestJS Services → PostgreSQL Database
↕️
Azure Functions Scrapers → Data Processing & ETL → ML Recommendation Engine
Performance Metrics
- 500,000+ SKUs aggregated across 18+ retail sources
- ~12,000 items/hour processing rate
- 94% parsing accuracy for scraped data
- Burst scaling with Azure Functions for cost efficiency
Why This Works for Us
Near-Term Roadmap
- Move recommendation logic into a more robust ML pipeline (pipeline-based retraining via Airflow or Azure ML)
- Add Redis-based caching for speed-critical endpoints (e.g., search and wishlist alerts)
- Introduce a token-based queue for Flair AI subscriptions (rate-limiting + smart retries for aggressive item lookups)
- Expand scraping sources with proxy rotation + CAPTCHA solving for higher-resistance targets
Long-Term Vision
As Flair grows from 100 to 100,000+ users, this system is designed to evolve:
- Multi-region deployments (EU/NA) with CDN-based geo-optimization
- ML-native personalization layer with explainable fashion logic
- Enterprise-facing APIs to enable sourcing tools for resellers at scale
We're not just building an app—we're building infrastructure for intelligent global shopping.