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
- 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.
- Money as integer paise end to end, formatted in exactly one place in the API and one in the app.
- Flutter app (Riverpod, GoRouter) with Firebase email magic-link sign-in, offers, Razorpay checkout, chat and orders.
- Socket.IO gateway for negotiation events and chat; signature-verified Razorpay webhooks.
- React ops dashboard with live tables, seller KYC verification and system health, served by Nginx with TLS.
- 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
Share this case
