Ali Farooq
I'm a backend engineer who designs for the failure case first: the integration that degrades silently,01 the payment that must never be captured twice,02 the transaction that outgrows the service it started in.03
- based
- Karachi, Pakistan
- status
- Open to backend roles
Work
A healthcare services provider
Treating Google as a system that will fail
A watch lapses after seven days. A token expires, a webhook drops, and none of it makes a noise. I had to make the automation notice its own blind spots before someone downstream asked why a lead had gone cold.
See the state diagram
A virtual-phone-number & SMS platform
The money rule in the database, not the service
A cent is too coarse for the money you compute with. We booked a cost of $0.0769 as 8c, a four percent error, and nothing downstream ever noticed.
See one capture, in two assets
A multi-tenant workshop-management SaaS
The handle goes in the signature
One write crossed four owners and had to land whole. The transaction handle could travel in the arguments, where you can see it, or in the request, where you cannot. I put it in the arguments and paid for it in thirty-four files.
See where the handle goes
Open source
Failure should be part of what a function returns, not something you find out about in production.
Four months later I hit the same wall and answered it the other way.
drizzle-tx
I let the handle travel with the request, so it stops showing up in signatures that never touch the database. Drizzle only undoes work when something throws. This library never throws.
Read how it holds
result-kit
Where I started. I had built this by hand once already: thirty-nine static methods, and six of them were ever called from outside.
result-kit-lint
Lint rules that fail the build when a result goes unchecked. Without them, the convention holds for as long as I remember to keep it.
Both are published on npm.
About

I have been a software engineer at Zenkoders since 2024, on the backend of client products. That is why the work above never names a client.
The problems I get handed are the ones where being wrong is expensive.
2024 — now
Software engineer, Zenkoders
Backend of client products in healthcare, fintech and SaaS. AI voice booking on BullMQ queues, Gmail automation, document extraction out of PDFs nobody controls.
- 7,000
- inbound leads a month, booked against a calendar
- 100
- consultants drafting email through it
2020 — 2024
BS Computer Software Engineering
DHA Suffa University. Gold medal, top of the batch.