Skip to content
Products

Product architecture and build

ShopLive

A social-commerce marketplace for India built around structured, real-time price negotiation between buyers and sellers: a Flutter app, an Express API and a React ops dashboard.

Stack: Flutter, Dart, Node.js, TypeScript, Express, Sequelize, PostgreSQL, Socket.IO, Razorpay, Firebase, React

Problem

A marketplace whose differentiator is structured, real-time price negotiation between buyers and sellers over a personalised feed, across a mobile app, an API and an ops dashboard.

What I built

  1. A pure, fully unit-tested negotiation state machine owned by the server; DB CHECK constraints and a partial unique index allow one open negotiation per buyer and product.
  2. Money as integer paise end to end, formatted in exactly one place in the API and one in the app.
  3. Flutter app (Riverpod, GoRouter) with Firebase email magic-link sign-in, offers, Razorpay checkout, chat and orders.
  4. Socket.IO gateway for negotiation events and chat; signature-verified Razorpay webhooks.
  5. React ops dashboard with live tables, seller KYC verification and system health, served by Nginx with TLS.
  6. GitLab CI: verify, build image, deploy to AWS Lightsail; images tagged by commit SHA for rollback, and the deploy fails if /health does not answer.

Stack

  • Flutter
  • Dart
  • Node.js
  • TypeScript
  • Express
  • Sequelize
  • PostgreSQL
  • Socket.IO
  • Razorpay
  • Firebase
  • React