Backends anddocument pipelinesthat hold upin production.
I lead four developers at a startup by day and take two client projects at a time alongside it. NestJS and Django services with real authentication, migrations that survive a live database, and AI extraction that shows its working.
- Endpoints shipped
- 281
- Authored by me
- 94%
- Days to first build
- 9
- Findings closed
- 68
Every figure on this site comes with the command that produced it.
Three systems, and what is actually mine in each.
Authorship is measured with per-file git blame across the current tree, excluding lockfiles and generated code. Where I led rather than wrote, it says so.
Delegate operations for an international conference
Hundreds of university representatives and government officials fly into China for one conference. Every one of them needs a formal invitation letter to get a visa. If the letter is late or wrong, they cannot enter the country.
- NestJS 11
- TypeScript
- PostgreSQL 16
- Prisma 7
An AI application pipeline you can audit
An agency sending students to Chinese universities retypes the same passport, transcript and funding details into a different portal for every university. Dozens of times per student, in Chinese, on systems with no API.
- Django 6
- Django REST Framework
- PostgreSQL
- Celery
A bilingual site, and a security pass on a live system
An association connecting Chinese and Bangladeshi universities needed its whole site published in two languages and edited by staff with no developer. It was already live when I audited it and found three write endpoints with no authentication at all.
- Next.js 16
- TypeScript
- MongoDB
- Auth.js
Backend & API build
A production service with the parts that usually get skipped: real authentication, a migration path, and documentation your frontend team can work from.
- NestJS or Django REST service, your choice of Postgres or MongoDB
- Authentication with refresh rotation and token revocation
- Role and permission model scoped to your actual org structure
- Versioned migrations that can be applied to a live database
You are hiring someone you have not met.
In a country you have probably not visited, who has a full-time job. The way I reduce that risk is to make every step visible before you commit to any of it.
- 01
Scope
A call, then a written scope with a fixed price and a date. Free.
- 02
Deposit
40% to start. The scope document is the contract.
- 03
Build
A written update every Sunday. You always know where it is.
- 04
Review
Two rounds of revision inside the agreed scope, at no cost.
- 05
Handover
Code, credentials, and a runbook. You own all of it on final payment.
The awkward questions, answered first.
Have you done freelance client work before?
No. This would be my first independent client project. What I have instead is production work at a company, where I am one of three founding developers and lead the other four. Running a client relationship on my own is a different skill and I am not going to pretend otherwise.
Do your projects have tests?
The Django platform carries around 1,450. I wrote the test module for the AI pipeline and the shared test factories. The three smaller projects have none, and I verified those in a browser instead. I would not do that again, and I would not do it on your project.
How many users do your systems handle?
I do not know, and I will not guess. None of these repositories carries traffic or uptime figures. Every number on this site is code size, not usage. Anyone quoting you user counts for their own side projects is probably making them up.
What about cloud, Kubernetes, AWS?
None. Everything I have shipped runs on a single server with nginx and a process manager, documented in runbooks I wrote. If your project needs managed cloud infrastructure at scale, I am the wrong hire and I will tell you so on the call.
What happens if the project goes wrong?
If I fall behind I tell you early and we move the date, in writing, before the deadline rather than on it. If you are unhappy, you get one free revision round and then a scoped change order. If it is genuinely not working, I refund the milestone that has not been started and we part cleanly.
Do you have a full-time job?
Yes, and I am not hiding it. I have twenty hours a week, evenings and weekends, in UTC+6. That means I take two clients at a time and quote longer timelines than an agency would. It also means I am not desperate, so I will turn down work I cannot do well.