Writing
Notes from the work
Occasional posts about the parts that turned out harder than expected.

6 min read
Why I stopped reaching for an ORM
Three projects in, the abstraction cost more than it saved. The reasoning, and what I use instead.
Read more
9 min read
Arabic-first interfaces are not a translation job
RTL is the easy part. Numerals, typography and line length are where bilingual products actually break.
Read more
7 min read
Shipping offline-first to low-coverage regions
What we learned building a driver app for areas where connectivity is the exception, not the rule.
Read more