I build backend and data systems for product teams.
Where I'm hired
One engineer, the whole stack, design to database.Backend and API engineering
Django, DRF and FastAPI services with versioned contracts, constraints enforced in the database rather than the serializer, background work on Celery, and tests that run in CI.
Data platforms
Kafka into Spark Structured Streaming, landed as Parquet, modelled into a star schema and orchestrated with Airflow. Reporting stops disagreeing with itself because there is one definition.
AWS infrastructure
ECS, RDS, S3, Lambda, SNS and SQS behind a VPC and scoped IAM policies, deployed from CI. Queues get a dead-letter path before they get traffic.
Product engineering
Booking flows, portals and admin tools built as products: authentication, roles, entitlements, payment state, and the data model holding them together.
Retrieval and recommender systems
RAG over your own corpus with retrieval scoped per tenant, and recommenders with the training and serving paths kept separate. Grounded answers rather than impressive ones.
Rescue and hardening
You inherited a codebase nobody wants to deploy. I read it, get it under test, document what is load-bearing, and get it shipping again.
Selected work
Architecture, trade-offs, and what I’d do differently.Fitter Health: a production platform, built from zero
A Spain-based health team had a validated concept and no engineering function. I built the platform and took it to production alone: entitlements, two-sided booking, invoice reconciliation with Odoo, and the AWS estate under it.
Read case studyHybrid recommender, built as a service
A recommender with the parts that usually get skipped: cold start handled by design, training and serving separated by an artifact, hot model reload without a deploy, and an evaluation that reports its own sample size.
Read case studyReal-time e-commerce ETL pipeline
Kafka into Spark Structured Streaming, raw Parquet in bronze, batch stages into silver and gold, landing in a four-table star schema. The medallion split exists so a change to what revenue means is a rebuild, not a backfill.
Read case study“He frequently delivered ahead of scope and raised considerations we had not thought to ask about.”
How I work
Four steps, in this order, on every engagement.- 01
Find the constraint
I ask what the system has to survive before I ask what it has to do. Load, compliance, budget and team size change the answer more than the feature list does.
- 02
Design the contract
API shapes, data model and failure modes on paper first. Arguing about a schema for a day costs less than migrating one for a week.
- 03
Ship in production-ready slices
Each slice lands with its migration, its tests and its deploy path. You see working software in week one, not month three.
- 04
Hand it over
Reproducible infrastructure and a repo your next engineer can read without me on a call. If you bring me back after that, it should be because you want to.
Certifications
Each one links to the issuer’s verification page.Questions I get asked
Are you available full-time, contract, or both?
Both. I take one long-term engagement alongside select project work. For full-time roles I'm open to remote positions with EU or US-East teams.
You're in Pakistan. How does that work across timezones?
I work EU hours by default and overlap US-East mornings. My last team was in Spain; async-first with a daily overlap window was never an issue.
What size projects do you take?
Typically four weeks and up. Below that I'm rarely the right call, and I'll tell you so rather than take the work.
Can you take over an existing codebase?
Yes, and it is some of my favourite work. The first deliverable is always a written assessment: what is solid, what is load-bearing and fragile, and what it costs to fix.
Who owns the code and the infrastructure?
You do, entirely. Repos, AWS account, and domains stay in your name from day one. I don't host client infrastructure on my own accounts.
What don't you do?
Mobile apps, brand design, and anything that needs a team of six. I will refer you rather than fake it.