Case Study

WEART

Social Platform for Artists

NestJSReact NativeMongoDBOpenSearchRedisRxJS
WEART landing
Account creation
Gift and chat feature
Account recovery

Overview

WEART is a social media platform designed for artists to share their work, connect with collectors, and sell directly to fans. Features include a discovery feed, direct messaging, and integrated payments with commission-free sales for verified artists.

Technical Challenge

Creating a performant social feed that could handle high-volume media uploads while providing relevant content discovery through ML-powered recommendations. Key requirements:

  • Support for high-resolution artwork uploads (images up to 50MB, videos up to 500MB)
  • Real-time notifications and chat for artist-collector communication
  • Content-based recommendations without explicit user ratings
  • Mobile-first experience with offline support

Approach

We implemented a Backend-for-Frontend (BFF) pattern with dedicated mobile API services:

  • BFF pattern with a dedicated mobile API service handling app-specific data aggregation and formatting
  • OpenSearch with vector embeddings for content-based recommendations, using CLIP embeddings for visual similarity
  • MongoDB sharded cluster for user-generated content, with GridFS for large media storage
  • Redis pub/sub for real-time notifications and chat, with persistence for offline message delivery
  • RxJS for complex async data streams in the mobile app, handling optimistic updates and conflict resolution

Feed Algorithm

The discovery feed uses a hybrid approach:

  • Content signals - Visual similarity to liked artwork, style matching
  • Social signals - Following graph, collector activity
  • Freshness - Boosting recent uploads from active artists
  • Diversity - Ensuring variety in art styles and mediums

Impact

Launched MVP with real-time chat, content discovery, and artist profiles supporting image and video uploads. The recommendation system achieved 3x higher engagement compared to chronological feeds.