MuhammadZaman Khan.
I build software that ships & holds up.
I'm a software engineer drawn to the hard, invisible problems — realtime systems, multi-tenant data, and payments. My biggest build is a UK last-mile delivery platform: five connected apps — a retailer dashboard, a React Native courier app, a one-screen dispatch portal, and franchise and admin consoles — on one realtime Postgres backend that I rebuilt and moved onto self-hosted infrastructure. Day to day I'm at Softaims, building SEO and lead-generation platforms, AI content pipelines and internal tools.
Proof, not promises.
Three builds that show what I actually do — the problem, the decision I made, and what shipped. Full write-ups on the projects page.
Last-Mile Delivery Platform
A multi-tenant last-mile delivery platform for a UK startup — five connected apps on one realtime backend, plus the public website and the server they run on.
I designed and built the whole platform: a retailer operations dashboard, a React Native courier app with background GPS and offline-first dispatch, a one-screen dispatch portal for busy restaurant counters, a franchise portal, and an admin console that maps postcode territories to franchises. All five share one Postgres backend with row-level multi-tenancy, a double-entry wallet ledger, Stripe billing and realtime tracking. I also built the marketing site and set up the hardened server it all runs on — self-hosted Supabase, Docker and automated deploys.
- constraints
- Four kinds of account — restaurants (served by two of the apps), couriers, franchise owners and platform admins — each strictly isolated, with money and live location moving through one system in real time. Built largely solo over more than a year, under NDA.
- key decision
- Money is the thing you can't get wrong. An audit of the live database found wallet balances stored in four places that disagreed, and commission being charged twice. I replaced them with a double-entry ledger where every posting must sum to zero — enforced by the database itself — and migrated the live data under that same rule, so it reconciles to the penny with no rows lost. What I'd change: audit the schema before building apps on top of it, not after.
- React
- React Native
- Expo
- Next.js
- TypeScript
- Supabase
- PostgreSQL
- PostGIS
- Stripe
- TanStack Query
- Realtime
- Row-Level Security
- Docker
Trade-Contractor SEO & Lead Platform
An SEO and lead-generation platform for a company selling AI reception to US trade contractors — free tools, document builders, a CMS-driven blog, and a directory of nearly 3,000 contractor listings.
A Turborepo I built solo: a Next.js 16 site, a Strapi 5 CMS synced into Postgres by webhook, and shared typed packages. It ships 42 trade calculators, about 80 builders that export branded PDF, Excel and Word documents, AI-generated licensing pages, and a free owner app that pre-fills every document from the shop's Google Maps listing. Behind it sit a hardened scraping pipeline that builds a public contractor directory, and an admin area for leads, attribution and analytics.
- constraints
- Built solo while the site was already live and capturing leads, so every change had to ship without hurting search rankings — and the directory's data comes from sources that actively block automated traffic.
- key decision
- Scraped data never goes straight to the database. Each run writes a checksummed artifact that has to pass an AI rewrite and a fingerprint-confirmed publish, and every publish saves a manifest so it can be rolled back exactly. The tradeoff is a slower, city-by-city run with a human publish step — in exchange, a bad scrape can never damage live SEO pages.
- Next.js
- Turborepo
- Strapi
- Prisma
- PostgreSQL
- OpenAI
- Playwright
- Better Auth
- pdf-lib
- Docker
- Railway
Talent Platform & AI Content Pipeline
An established Next.js platform for hiring vetted developers — I took it over as its only developer and added an AI content pipeline, programmatic SEO and better lead capture.
Since April 2026 I've been the only active developer on the site and its Strapi CMS (129 of the site's 130 commits since then). I built a three-stage AI pipeline that researches and writes city-targeted case studies, a programmatic services-and-locations system of about 80 landing pages, and a stronger lead funnel with journey attribution and partial-form alerts. I also added accounts and offline-first sync to the site's productivity tool without rewriting it.
- constraints
- A live site that already ranked and earned leads, inherited from other developers — every change had to ship without disturbing existing pages, URLs or the editors' workflow.
- key decision
- AI generation runs as an explicit, idempotent batch job instead of on save. Research uses the Responses API with web search, writing and review go through the cheaper Batch API, the output is validated against a Zod schema, and editors approve it in the CMS. The tradeoff is latency — a case study takes a batch cycle, not seconds — in exchange for predictable cost and no accidental spend.
- Next.js
- Strapi
- Prisma
- PostgreSQL
- OpenAI
- Zod
- better-auth
- Dexie
- AWS
What I work with.
The tools I reach for, grouped by what they do — the same ones behind the work above.
Languages
06- TypeScript
- JavaScript
- Python
- Ruby
- Java
- SQL
Frontend & mobile
10- React
- Next.js
- React Native
- Expo
- Tailwind CSS
- TanStack Query
- Zustand
- React Hook Form
- Zod
- Motion
Backend & data
18- Node.js
- Express
- Ruby on Rails
- FastAPI
- REST APIs
- JWT / RBAC
- Supabase
- PostgreSQL
- PostGIS
- Row-Level Security
- Edge Functions
- pg_cron
- Stripe
- Prisma
- Strapi
- Sanity
- OpenAI APIs
- MongoDB
DevOps & infra
12- Docker
- nginx
- Linux VPS
- Self-hosted Supabase
- GitHub Actions
- Cloudflare
- Tailscale
- PM2
- Railway
- AWS (EC2, RDS, S3)
- Vercel
- EAS
Testing & quality
10- Vitest
- Jest
- Testing Library
- Playwright
- pytest
- Maestro
- Stryker
- Contract tests
- Sentry
- gitleaks
Focus
08- Multi-tenant systems
- Realtime & offline-first
- Payments & ledgers
- AI content pipelines
- Programmatic SEO & structured data
- Geospatial routing
- Performance
- System design
Where I've shipped.
Roles where I owned real software from requirements to production.
Software Engineer
Building web products at a software studio — SEO and lead-generation platforms, AI content pipelines and internal tools, in Next.js, Rails and FastAPI.
- Built a trade-contractor SEO and lead platform solo (515 commits): 42 calculators, about 80 document builders, a CMS-driven blog, and a hardened scraping pipeline behind a directory of nearly 3,000 contractor listings.
- Sole developer of the company's developer-hiring platform since April 2026 — a three-stage AI content pipeline, about 80 programmatic landing pages, and extended lead attribution.
- Built UK energy-switching and claims funnels — one site solo, lead developer on another — with one-time device-bound links, Stripe card setup and a rebuilt e-signature pipeline.
- Built four programmatic local-SEO sites, took a geo-grid rank tracker from prototype to production, and upgraded a production Rails app from 7.0 to 8.1.
- Hardened company servers: moved one from Apache to an nginx reverse proxy with TLS, and ran a security audit that closed unneeded open ports and produced recovery runbooks.
- Next.js
- Strapi
- Prisma
- PostgreSQL
- OpenAI
- Ruby on Rails
- FastAPI
- Docker
MERN & React Native Developer
Built and shipped digital-governance software for a government body — replacing paper processes for staff across dozens of institutions.
- Delivered a multi-tenant education platform serving 73 schools and 50,000+ students to production.
- Built a MERN letter-tracking system that replaced a paper diary, with role-based routing between departments.
- Implemented granular RBAC and sent/seen status tracking across the whole workflow.
- React
- React Native
- Node.js
- PostgreSQL
- Supabase
- MongoDB
WordPress Developer
Designed and built a booking-focused website for an aesthetics clinic, from design through launch.
- Built the appointments and booking flow as the site's core conversion path.
- Owned the site end to end — design, build, and ongoing maintenance.
- WordPress
- PHP
- JavaScript
- CSS
The short version.
From the data model to the interface — and the pipeline that ships it.
I work across the whole stack: React and Next.js on the web, React Native on mobile, and Node, Postgres, and Supabase on the backend. Most of what I've shipped runs in production for real organisations, not toy projects. The largest is a multi-tenant delivery platform I built end to end — five connected apps, the public website that sells it, and the server it all runs on.
The problems I like most are the ones users never see. On the delivery platform that meant auditing a live database and replacing four disagreeing wallet balances with a double-entry ledger that reconciles to the penny, moving payment secrets where no client can reach them, streaming live courier locations without melting the database, and keeping the courier app working offline mid-delivery. On my final-year project it meant row-level tenant isolation, so no school could ever see another's data.
I care about fit and finish. I'd rather ship one thing that works well than five half-finished demos.
- B.S. Software EngineeringCOMSATS University, Lahore1st place — Final Year Project2021 — 2025
- I.C.S. (Physics)Punjab Group of Colleges2019 — 2021
- name
- Muhammad Zaman Khan
- role
- Software engineer · Web · mobile · realtime
- based
- Lahore, Pakistan
- focus
- Web, mobile & realtime
- status
- Open to new opportunities
-- each school sees only its own rows
create policy tenant_isolation
on public.students
using ( school_id = auth.jwt() ->> 'school_id' );ThebestcodeI'vewrittenisthecodeyounevernotice:thedatamodelthatstaysclean,thepermissionsthatneverleak,thepagethat'sstillfastatfiftythousandusers.
Got something that has to work when it's live? That's the part I like building.
Get in touch.
I'm open to full-time roles and freelance work. Email is the fastest way to reach me.
- location
- Lahore, Pakistan
- timezone
- UTC+05:00 · PKT
- coordinates
- 31.5204° N · 74.3587° E
- response time
- within 24 hours