Fail loud
A system that dies quietly is worse than one that crashes, because nobody comes to fix it. Everything I build reports its own state — health endpoints, status pages, a bot that tells me before a user has to.
The parts come documented. The seams don't. That's my trade.
Anyone can saw through bone. The whole trade is knowing where the joint is.
Everything here is live right now, and you can click it.
Five things I don't negotiate about.
A system that dies quietly is worse than one that crashes, because nobody comes to fix it. Everything I build reports its own state — health endpoints, status pages, a bot that tells me before a user has to.
No credit card. That isn't a phase, it's the design constraint — and it's why I know exactly where the edges of Cloudflare, Neon and every free model provider are.
Totals get recomputed on the server, always. A price that arrives from the browser is a suggestion, not a fact.
Netlify and Vercel domains don't resolve where I live, so I don't build on them. I pick rails that work in Egypt first and everywhere else second — which turns out to be a good habit anywhere.
Small steps, live, with the thing running in front of me. I'd rather cut once and adjust than plan for a week and find out I was filling the wrong order.
Built, working, not released yet. Hanging until they're ready.
One of one. I sharpen my own knives.
I learn a stack by gutting it.
Nobody taught me this. I take the thing apart — a storefront, a bot, an app that stopped working — until I can see which parts are load-bearing and which are just there. Then I rebuild it with less.
That's also how I read other people's software. When something dies, I'd rather reopen it on my own bench than wait for whoever built it to come back. Most of what's on this page started that way.
I'm studying computer science at Sadat Academy, in Cairo, and I ship in short sharp sessions rather than long ones. Available for remote work.
Come round the front. I answer on all of these.