root@hisham:~/blog$ cat README.md
README.md
Blog — Hisham Medhat
Notes on backend systems I actually shipped: multi-tenancy, observability, deployment, and the parts of PHP and TypeScript that surprise me. Written by Hisham Medhat, AI fullstack engineer in Alexandria.
root@hisham:~/blog$ ls -lt posts/
my dev setup, 2026
Two agents in the terminal with an orchestrator that reviews adversarially, the language servers those agents actually use, DBngin instead of a compose file per project, and a deploy path I no longer think about.
ai
tooling
windows
read →
a flexible schema moves the work, it does not remove it
A JSON config column is a real tool and I reach for it. The work leaves the database and lands in code you own: validation at every door into the row, a client and server split only types can enforce, and filtering that used to be a WHERE clause.
architecture
typescript
postgres
read →
The bottleneck moved to code review
Writing code got cheap and reading it costs what it always did. Why a green test suite stopped being evidence, and the one line I want at the top of every pull request.
code-review
testing
ai
read →
your agent remembers things that stopped being true
Agent memory has settled on a folder of Markdown pages with a vector index beside it, and storage was the easy half. The failure mode is retrieval: a confident conclusion that stopped being true, ranked highly because it is still on topic.
agents
memory
data-engineering
read →
trust proxy was lying to my rate limiter
A public endpoint refused to return 429 no matter how fast I hit it. The bug was one Express setting, the fix was two characters, and it took me two deploys six minutes apart to get right.
nestjs
express
rate-limiting
read →
Multi-tenant Laravel: request-scoped guards over trusting your queries
Tenant isolation belongs below the query layer. How Spatie Teams, request-scoped guards, and repository-level filters keep one tenant's data out of another's response.
laravel
saas
architecture
read →
Building an observability platform on Hono and Bun
Ingesting telemetry from 15+ services, enriching requests on the way in, and deciding which alerts are worth waking someone up for.
bun
observability
telemetry
read →
500 integration tests later: what regression coverage actually caught
A year of PHPUnit tests across attendance, overtime, leave, and penalty workflows, and an honest look at which of them ever failed for a good reason.
testing
phpunit
hr-systems
read →
root@hisham:~/blog$ ./subscribe.sh
root@hisham:~/blog$