RKB
Md Abdur Razzak
Dating & SocialLive Demo / App

Vivaleve

Dating & Social Platform for STI Community

A privacy-first modular monolithic backend API and real-time social engine for individuals living with STI conditions (HPV, HIV, HSV-1/2)—enabling match discovery via swipes, post feeds, winks, blogs, events, first-date ideas, and Stripe-powered premium messaging and private albums.

Key Impact: Flushes thousands of buffered social interactions per minute with sub-20ms database queries

System Architecture & Design Patterns

Architecture Pattern

Modular Monolith with Write-Behind Redis Buffering, RabbitMQ Queues & Stripe Webhooks

Strategic Rationale

Maintains clear domain boundary separation across feature modules while offloading high-traffic social writes to Redis buffers and heavy async tasks (emails, notifications, media processing) to isolated RabbitMQ worker consumers.

Technical Highlights
  • Write-behind Redis post like buffer (bufferLike/bufferUnlike) with node-cron periodic flush to MongoDB
  • Asynchronous RabbitMQ message queues for signup emails, post dispatches, comment caching, and notification delivery
  • Stripe webhook pipeline registered prior to express.json() for uncorrupted raw buffer signature verification
  • Sharp image processing pipeline creating blurred preview variants for privacy-protected media before premium unlock

Engineering Challenges & Solutions

Challenge 1

High-traffic post like actions created excessive synchronous MongoDB write contention and HTTP event loop latency during peak social activity.

Engineered Solution

Architected a write-behind Redis buffering layer (bufferLike/bufferUnlike) where displayed counts compute dynamically from MongoDB + Redis delta, flushed periodically via node-cron (*/1 * * * *).

Challenge 2

Stripe webhook signature verification failures caused by standard Express automatic JSON body parsing.

Engineered Solution

Mounted the raw-body Stripe webhook route (/api/stripe/webhook) prior to global express.json() middleware, ensuring payload buffer integrity.

Tech Stack

TypeScriptNode.jsExpress.jsMongoDBMongooseRedisRabbitMQSocket.ioStripeZodSharpDocker

Core Capabilities

  • Mutual swipe match discovery algorithm based on gender preferences, livingWith STI status, and location
  • Write-behind post like buffering in Redis (bufferLike/bufferUnlike) flushed asynchronously to MongoDB via node-cron
  • Asynchronous RabbitMQ message broker managing email queues, post processing, comment caching, and notification dispatches
  • Stripe billing pipeline with checkout sessions, packages, and raw-body webhook signature verification
  • Granular Role-Based Access Control (USER, ADMIN, SUPER_ADMIN) & premium membership gating (blogs, private albums, messaging)
  • Sharp image processing generating blurred preview variants for privacy-protected user media