Building for the web from Baghdad

A few honest notes on shipping production software from Iraq — the tooling, the trade-offs, and what international clients actually want.

· 4 min read

Working as a senior software engineer from Baghdad is, more than anything, a study in removing friction. The connection to the rest of the world is unreliable, the time zones rarely line up, and the local market is still maturing. None of this is a problem if you build for it instead of against it.

The actual stack

I keep tooling boring. SvelteKit and Nuxt on the frontend, Go on the backend, Postgres in the middle, and a Linux box wherever a Linux box fits. The newest piece of technology I use is whatever ships in last month's stable release — not last week's.

Boring stack means I spend my hours on the parts that actually move the business: the domain, the data model, the user interface, the latency budget. Not chasing the framework du jour.

What clients want

Clients don't care that you wrote a clever abstraction. They care that the feature shipped, that the page loads in under a second, that the bill is predictable, and that you replied when you said you would. Everything else is decoration.

Working asynchronously

The single biggest unlock for engineers anywhere outside the dominant timezones is relentless async discipline. Write more than you speak. Leave a paper trail. Make every handoff complete enough to survive your absence. Treat every PR description as a small essay.

What's next

More writing here. Short, opinionated, no fluff. If a topic is worth a paragraph instead of a thread, I'd rather put it on my own domain than rent it on someone else's platform.