ByteHint Logo™
HomeServices
Industries
Resources
About Us
Contact
ByteHintByteHintByteHintByteHint
ByteHint Logo

Building innovative solutions for the digital future. Transform your ideas into reality with our cutting-edge technology.

Quick Links

HomeAbout UsBlogCase StudiesContactClient Testimonials

Legal

Privacy PolicyTerms & ConditionsRefund Policy

Get In Touch

Veerbhadra Nagar
Pune City, Maharashtra
India 411045

info@bytehint.com
+91 93709 55842
© 2026 ByteHint. All rights reserved.
Case studiesWardro8e AI-Powered Fashion Discovery Platform

wardro8e: a fashion discovery app with a visual recommender that never shows a blank feed

wardro8e is a mobile fashion discovery app that learns each shopper's style from a short quiz and from what they like, save and view, then ranks products from many stores into one personal feed.

Client
An India-based fashion discovery business
Industry
Fashion and retail e-commerce
Type
Mobile App

Navigate

The problem

The fashion e-commerce space is dominated by generic, search-based marketplaces like Myntra and platforms like Pinterest that offer visual inspiration but lack direct shopping integration. Traditional platforms overwhelm users with excessive choice and fail to understand individual style preferences.

  1. 01

    Discovery is split across stores

  2. 02

    Cold start

  3. 03

    Small catalog, repeat fatigue

  4. 04

    "Similar" has to mean "looks similar"

  5. 05

    Emerging labels are hard to find

The solution

ByteHint architected a comprehensive dual-platform solution combining mobile-first user experience with robust web-based brand management tools, powered by AI-driven recommendations.

Three-tier personal home feed

Moves each user from cold start to quiz-based to behavioral ranking as signal builds up, with a 15 minute cache and infinite scroll.

Visual "More like this"

CLIP image similarity blended with style, occasion, colour and price signals to rank items that look alike.

Learns from likes, saves and views

Weighted interactions with a 14-day half-life, views deduplicated per 24 hours, and on-device counters synced in batches.

Style quiz with skip handling

Two steps covering gender, styles, colours and patterns. Answers seed the feed; skipping is recorded so the app falls back to cold start.

Discover tab

Search, a vibes strip, trending items, community collections and a filter sheet for gender, category, price, colour, size and sort.

Collections

Create, edit and delete collections, set them public or private, upload a cover, and save other shoppers' collections.

Catalog admin with automatic embeddings

Saving a product uploads its images, writes the row and stores its CLIP vector in the same request. Editing the main image regenerates it.

Brand onboarding

Brands sign up with an email code, submit KYC documents and receive a generated partnership contract PDF.

How it works

Users browse a Pinterest-style masonry layout of fashion products, with AI learning their style preferences from each interaction (saves, likes, views). Users can explore curated collections, follow favorite brands, and seamlessly purchase directly from independent designers. The platform offers optional style quizzes during onboarding to create a \"style DNA\" profile that evolves with each interaction. For brands, a comprehensive verification process includes business registration validation, document uploads (GST, PAN, trade licenses), contact verification via OTP, and digital signatures on partnership agreements.

System architecture · Architecture

System architecture
The wardro8e app and three web clients, two sets of API routes, one recommendation service, managed data stores and third-party services.

Data model · Data Model

Data model
Main tables: users, preferences, interactions, products with embeddings, collections and brands.

Home feed request with fallback · Sequence

Home feed request with fallback
Cache check, parallel lookups, feed type choice, then the recommendation service or local scoring if it times out.

First launch to learned feed · User Flow

First launch to learned feed
Onboarding, sign-in and quiz lead to a cold start or preference feed, and every like or save feeds back into ranking.

Product ingest and embedding · Sequence

Product ingest and embedding
Image upload, row insert, CLIP encoding and vector storage in one admin request.

Sign-in flow · Auth Flow

Sign-in flow
Google sign-in through an in-app browser with code exchange, and email sign-up with a six-digit code.

Key decisions

Ranking in Python, with a fallback for every call

Chose A FastAPI service running CLIP through sentence-transformers, called through one HTTP helper with abort timeouts over Ranking in Postgres functions or only in the app

CLIP needs PyTorch, which does not run on the phone or in Postgres. TypeScript fallback scorers mirror the server weights, so a cold or sleeping service never leaves the shopper with an empty screen.

Managed backend called directly from the app

Chose Supabase for Postgres, auth and storage, used straight from the client with the session kept on the device over A custom REST or GraphQL backend in front of the database

A small team and a read-heavy catalog. Auth, storage and Postgres come in one product, and server-only work (embedding writes, KYC, analytics) sits in Next.js API routes.

Preference learning on the device, synced in batches

Chose Local style, colour, pattern, occasion and season counters, with quiz answers seeded at a higher weight, synced on high-intent actions, every 10th view and on app background over Writing every event to the server and recomputing there

Fewer writes, it keeps working between syncs, and the feed reacts right after a like because the feed cache is cleared locally.

Gender safety enforced at three layers

Chose A database filter, a service-side filter and a final client filter applied to every source, including cache

A wrong-gender item in a personal feed was treated as a trust problem, so it is guarded at every layer, and an unknown gender for a signed-in user defaults to unisex only.

Variety over strict score order

Chose Bounded noise, a shuffle of the top tier, and caps per brand and per category over Pure score ordering

On a small catalog, strict ordering shows the same items every session. The caps and shuffle keep the feed fresh without dropping relevance.

Reliability and uptime measuresReliability & Operations
Every call to the recommendation service has an abort timeout and a TypeScript fallback that mirrors the server scoring. The chain ends in a gender-safe default feed, the app has a root error boundary, and the service returns 503 if the model fails to load.
API architectureArchitecture
REST endpoints in FastAPI for similar products, personal feed, explore, trending and embedding generation, plus Next.js route handlers, Postgres RPCs for counters and Server-Sent Events for campaign progress.
Monolith vs microservicesArchitecture
A managed backend plus one custom service. Clients use Supabase directly or through Next.js routes; the Python service that holds the CLIP model is the only custom backend process.
Eventual consistencyArchitecture · Partial
Preference counters live on the device and sync to the server in batches on high-intent actions, every 10th view and on app background. Interaction writes are fire-and-forget, and views are deduplicated per 24 hours.

How we delivered it

  1. Phase 1

    App shell and sign-in

  2. Phase 2

    Core screens

  3. Phase 3

    Android builds and first recommender

  4. Phase 4

    Recommendation tuning and collections

  5. Phase 5

    Hardening and polish

Results

The wardro8e Android app was built and distributed as an internal APK through Expo EAS, and beta invites were sent to the waitlist. The catalog, admin, brand portal and waitlist site were delivered alongside it.

Tech stack

Languages & Runtime

  • TypeScript5.9.3Language for the app and admin; 5.8.3 in the brand portal, 5.7.3 on the landing site
  • Python3.11Recommendation and embeddings service

Frameworks

  • Expo54.0.30Mobile app runtime, config and Android builds through EAS
  • React Native0.81.5Mobile UI runtime
  • Expo Router6.0.21File-based routes for onboarding, auth, tabs and product pages
  • FastAPI0.104.1HTTP API for similar products, personal feed, explore, trending and embeddings
  • Next.js16.1.1Admin panel; 15.4.10 for the brand portal and 14.2.23 for the landing site

UI

  • React19.1.0UI library in the app and brand portal; 19.2.3 in the admin, 18.3.1 on the landing site
  • NativeWind4.2.1Tailwind classes in React Native
  • Tailwind CSS3.4.18Theme tokens for NativeWind in the app; 4.1.18 in the admin, 3.4.17 in the brand portal and landing
  • Framer Motion12.23.6Animation in the brand portal; 12.14.0 on the landing site

State & Data Fetching

  • Redux Toolkit2.8.2Brand portal auth and session state

Backend Libraries

  • NumPyCosine similarity and score maths in the ranker
  • NodemailerOTP, waitlist and campaign email over SMTP
  • jsPDF3.0.2Generates the brand partnership contract PDF

Database & Storage

  • Supabase2.81.1Postgres, auth and storage for every client; 2.81.1 is the app SDK (admin 2.89.0, portal 2.56.0)
  • PostgreSQLProducts, preferences, interactions, collections and brand data

AI & ML

  • CLIPViT-B/32 image embeddings (512 dimensions) via sentence-transformers 2.7.0
  • PyTorchCPU model runtime for CLIP

Third-party APIs

  • Firebase11.7.3Firestore waitlist and Google sign-in on the landing site

Cloud & Infrastructure

  • Hugging Face SpacesHosts the recommendation service container

IaC & Deployment

  • DockerContainer for the recommendation service

CI/CD

  • Expo Application ServicesAndroid build profiles and internal APK distribution

Observability

  • PostHog4.39.0App product events, plus HogQL queries in the admin dashboard
  • Vercel Analytics1.5.0Landing page analytics

Dev Tooling

  • ESLint9.39.2Linting in the admin; 9.31.0 in the brand portal

Links

  • wardro8e websiteLive site

Have a similar challenge?

Tell us what you're building and we'll show you how we'd approach it.

Talk to us

Navigate

Get started with
your project

More case studies

A one-month deadline, no team, and a working team in eight days
Consumer apps and creator economy
AI Social App Team BuildProject

A one-month deadline, no team, and a working team in eight days

A studio promised its creator client an AI social app in a month with one developer. We scoped the real need and had four roles working eight days after the first call.

React NativeExpoLLM orchestration
Velocity Tweaks: a design-first e-commerce site that reached a 25% CTR
Gaming and PC optimization
Velocity TweaksWebsite

Velocity Tweaks: a design-first e-commerce site that reached a 25% CTR

A full-stack, design-first e-commerce build for a PC optimization brand, with cart, checkout and key delivery, that reached a client-reported 25% CTR in a low-conversion niche.

ReactExpressStripe
An Amazon deals bot that posts the best gaming discounts to Discord
Gaming and PC optimization
Amazon Deals BotBot

An Amazon deals bot that posts the best gaming discounts to Discord

A Discord bot that pulls the best gaming deals from Amazon through its Product Advertising API and posts them to the community every four hours.

Pythondiscord.pyAmazon Product Advertising API