live demoConcept project
Clinic Booking System
Book a slot in your time zone, race two bookings for one slot, then drag appointments in the admin calendar and watch overlaps fail.
Sami Ullah is a Node.js developer who builds REST APIs, integrations and background jobs with Express.js and NestJS. He currently works as a MERN stack developer at Earth Scan Systems, where Node.js serves geospatial and agricultural advisory data to React front ends.
Used professionally since 2025 (1+ years)
Node.js is the runtime behind most of my backend work. In my current MERN stack role at Earth Scan Systems I work on the API side that serves map and advisory data to the React front end.
For small services I use Express.js. When an API has many modules, roles and validation rules, I move to NestJS for its structure.
Official documentation: Node.js documentation
live demoConcept project
Book a slot in your time zone, race two bookings for one slot, then drag appointments in the admin calendar and watch overlaps fail.
live demoConcept project
Enqueue jobs, add or SIGTERM workers, raise the chaos slider and watch retries back off into the dead-letter set.
live demoConcept project
Sign in as admin, editor or user, call endpoints, untick a permission and watch the same request turn into a 403.
live demoConcept project
Shorten a link, claim an alias, follow it and watch the 301, the click count and the referrer chart update live.
Own product
A system I built that calls a list of consented contacts with an AI voice agent, holds a short qualifying conversation and records every result as a tracked outcome or lead. A NestJS API runs the dialing, compliance checks and webhooks, and a Next.js dashboard with a built-in AI assistant lets the owner run campaigns and ask for reports in plain language.

Own product
A multi-salon booking marketplace I designed and built for Pakistan. Clients find nearby salons on a map, choose a barber, service and time, and book at the salon or as a home visit. Salons run staff, schedules and earnings from their own dashboard, and the platform collects a commission per completed booking through daily settlements.
live demoConcept project
Drop a file, pause and resume a chunked upload, and see a renamed .exe and a 12 MB zip get refused.
live demoConcept project
Write GraphQL queries and mutations, then compare the SQL count with and without DataLoader batching.
live demoConcept project
Oversell a product, run a transfer that fails halfway and rolls back, receive a purchase order and export the low-stock list.
live demoConcept project
Build an invoice, watch exact totals update, double-submit it to test idempotency, then save it as a PDF.
live demoConcept project
Switch tenants, request another company's data, spoof a tenant header and hit a plan limit, all with the SQL shown.
live demoConcept project
Fire signed webhooks, tamper with one, resend a duplicate and watch a flaky destination retry on a schedule.
Own product
ReviewLens (working name) is a SaaS I built for online stores. It reads a store's customer reviews, returns and competitors and turns them into a short report: what customers complain about, which products cause the most problems and what to fix first. All numbers are computed in code, and AI only classifies text and explains the results.
Own product
SimRelay is a small Android app I built that turns my own phone into an SMS gateway. It checks a web server for pending messages, sends each one as a normal text from the phone's SIM card, and reports the sent and delivered status back, so a small web app can send booking confirmations without a paid SMS provider.
#nestjs6 min
A practical guide to API versioning in NestJS 11: URI, header and media type strategies, version-neutral routes, deprecation headers and when to bump.
read →
#postgresql6 min
How to prevent double booking in PostgreSQL: a booking schema with tstzrange, a btree_gist exclusion constraint, and clean 23P01 handling in NestJS.
read →
#postgresql6 min
A PostGIS introduction for web developers: geography vs geometry, nearby search with ST_DWithin, GiST spatial indexes, and GeoJSON output for Leaflet maps.
read →
#nestjs6 min
How to build NestJS JWT refresh tokens properly: short-lived access tokens, rotated refresh tokens stored as hashes, httpOnly cookies and reuse detection.
read →
Sami Ullah builds REST APIs, third-party integrations, file handling and background job workers with Node.js. He uses Express.js for small services and NestJS for larger APIs with authentication, role-based access and validation, typically storing data in PostgreSQL or MySQL.
Express.js suits small services with a handful of routes, where its minimal API keeps code short. NestJS suits APIs that will grow, because modules, dependency injection, guards and pipes give every feature the same shape. For a team project expected to last years, he usually recommends NestJS.
Yes. Sami Ullah works remotely from Sargodha, Pakistan, and has worked remotely for a London-based company before. Backend work can be scoped as a standalone API or as part of a full stack build with a React or Next.js front end. Use the contact form on this site to start.