Work

On-Demand Services Marketplace

Seven event-driven NestJS microservices for a bilingual services marketplace: bidding, live tracking, and wallet.

Info

Client
Valence Tech · NDA client
Role
Backend, AWS deployment, admin panel
Timeline
Jul 2026 – present
Year
2026
On-demand services marketplace cover: pre-launch, under NDA

Overview

A marketplace where customers post jobs and service providers bid on them, negotiate, and do the work. It supports Arabic and English. The client and product are under NDA, so this page describes the engineering only.

My role

At Valence Tech, I designed and built the full backend (seven services and a shared service template), deployed it to AWS, and built the admin frontend in Next.js.

Architecture

Seven NestJS microservices, each with its own PostgreSQL database. They talk over RabbitMQ, with a topic exchange for events and request and reply for RPC. One service issues JWTs and the others only verify them.

An NGINX gateway routes REST and WebSocket traffic to each service. GitHub Actions builds the images and deploys them to AWS.

Solution

A transactional outbox makes sure an event is sent only when its database change commits, and an inbox guard drops duplicate events. Customers and providers negotiate in real time over Socket.IO, and the location service streams live GPS and sends new jobs to providers inside a geofence.

Challenges

Money and messages must never be lost or counted twice. The wallet is an append-only ledger, and every event carries an idempotency key.

Stack

  • NestJS
  • TypeScript
  • RabbitMQ
  • PostgreSQL
  • Prisma
  • Socket.IO
  • Docker
  • NGINX
  • GitHub Actions
  • AWS
  • Next.js

Next project

ValenceTech

A full redesign and rebuild of the site for a studio that ships web, mobile, and AI products.

View case study
The ValenceTech site scrolling in a browser window