Notes from the desk.
Essays on craft, business, and the discipline of building deliberately. Technical deep dives on CSS, performance, and architecture. Published when the thinking is ready.
Every Android Animation Explained — From Views to Compose, in Kotlin
The complete reference for animation on Android — View.animate(), ObjectAnimator, AnimatedVectorDrawable, the Transition framework, MotionLayout, physics-based springs, Lottie, and every Jetpack Compose animation API.
craft 2026 · 05Every Loading Animation Explained — From Spinner to Shader
The complete reference — classics done right, iconic branded loaders dissected, SVG path tricks, conic gradients with @property, Houdini paint worklets, View Transitions, skeleton screens, and the experimental patterns nobody uses yet.
craft 2026 · 05Docker Production Checklist — The 15 Things That Matter
Image hardening, signals, secrets, healthchecks. The 15 checks that separate a working dev container from a real production deployment.
craft 2026 · 05Observability — Logs, Metrics, Traces, and When Each One Wins
Each pillar captures different information at different costs. What to instrument, what to skip, and how to use them together when production is on fire.
craft 2026 · 05JWT vs Sessions — The Honest Comparison
JWTs aren't always better than sessions — often they're worse. The complete tradeoff analysis: revocation, security, scaling, and the decision framework.
craft 2026 · 05HTTP Caching Headers — The Complete Deep Dive
Cache-Control directives nobody uses, ETags vs Last-Modified, the Vary header trap, and the configurations that actually work in production CDNs.
craft 2026 · 05Zero-Downtime Deployments — Blue-Green, Canary, Rolling
Blue-green, canary, rolling — each solves different problems. Plus the database migration patterns that don't break things during the deploy.
craft 2026 · 05Error Handling Patterns — Beyond Try-Catch
Exceptions vs result types, error boundaries, retry logic with backoff, circuit breakers. The architecture of error handling, not the syntax.
craft 2026 · 05The On-Call Survival Guide
On-call rotations break engineers when done badly. Runbook discipline, handoff hygiene, recovery time, and how to push back on bad rotations.
business 2026 · 05Learning a New Codebase Fast — The First 30 Days
New job, 200k lines of code you've never seen. The practices that get you productive in 30 days instead of 3 months — and the traps that slow people down.
business 2026 · 05Async Communication Mastery — Writing for Distributed Teams
Remote teams run on writing. The patterns that make async actually work — context-first messages, decision documents, and the meetings to replace.
business 2026 · 05Tech Debt — When to Pay, When to Live With It
Not all tech debt is the same. The framework for which debt costs you compound interest, which to ignore, and how to make the case for cleanup work.
business 2026 · 05REST API Design — The Patterns That Don't Bite You Later
Versioning, pagination, errors, idempotency, rate limiting. The decisions that determine whether your API ages well or becomes a maintenance nightmare.
craft 2026 · 05TypeScript Power Patterns — Generics, satisfies, Branded Types
Beyond TypeScript basics — the patterns that turn the type system from a checker into a design tool. Generics, conditional types, satisfies, branded types.
craft 2026 · 05Caching Strategies Decoded — CDN, App, Database
Caching is easy until invalidation. Where each layer of cache lives, what it solves, when each fails, and how to keep data fresh without losing your mind.
craft 2026 · 05Testing Strategy 2026 — The Pyramid That Still Works
Most test suites are slow, brittle, and miss the bugs that ship. The 2026 ratios, what to mock, where boundaries are, and how to ship with confidence.
craft 2026 · 05Password Storage, Correctly — bcrypt, argon2, the Attack Surface
MD5 is broken. SHA-256 isn't enough. The complete guide to password storage — algorithms, parameters, salt, pepper, rotation, and the attacks they defend against.
craft 2026 · 05CORS, Finally Explained — Preflight and the Gotchas
CORS error messages are notoriously unhelpful. The working mental model — what triggers preflight, the headers that matter, and the credentials trap.
craft 2026 · 05Writing Postmortems That Help — The Blameless Template
Most postmortems are theater. The ones that actually prevent recurrence follow a specific structure. The blameless template and the followup discipline.
business 2026 · 05Effective 1-on-1s — The Highest-Leverage Meeting in Your Week
Most 1-on-1s are wasted. The agendas, questions, and habits that turn 30 weekly minutes into the most valuable meeting on your calendar.
business 2026 · 05Mentoring Junior Engineers — What Actually Works
Senior engineers usually mentor badly — too much explaining, too much rescuing. The practices that accelerate growth, with the failure modes to avoid.
business 2026 · 05Presenting Engineering Work — Design Docs, Demos, Execs
Brilliant engineering presented poorly is invisible. The patterns for design docs, demos, and exec presentations that make your work actually land.
business 2026 · 05Web Performance 2026 — The Budget That Actually Matters
INP replaced FID. LCP got harder. The 2026 web performance guide — Core Web Vitals, the techniques that move the needle, and the metrics nobody else tracks.
craft 2026 · 05The Web Accessibility Cheatsheet — WCAG 2.2 Essentials
The accessibility patterns that actually matter — ARIA done right, keyboard navigation, color contrast, screen readers. A reference you can ship.
craft 2026 · 05Tailwind vs Vanilla CSS in 2026 — The Honest Cost Analysis
Beyond the religious war — when Tailwind genuinely wins, when vanilla CSS is the right call, and the real cost of each choice on team velocity.
craft 2026 · 05Database Indexes Explained — The Mental Model That Sticks
B-tree, covering, partial, composite — when each index type wins, the EXPLAIN output that matters, and the 5 mistakes that destroy query performance.
craft 2026 · 05The Git Recovery Guide — Undoing Every Mistake
Force-pushed to main? Deleted a branch? Lost a commit? Every git disaster has a recovery path. The complete field guide with the exact commands.
craft 2026 · 05The Regex Survival Guide — 12 Patterns You Actually Need
Skip the academic regex tutorials. These 12 patterns cover 95% of real-world string matching — emails, URLs, dates, log parsing. With edge cases.
craft 2026 · 05Senior Engineer Interview Prep — The 5 Question Patterns
Senior engineering interviews follow 5 question patterns regardless of company. Learn the patterns, the answer structures, and stop preparing for the wrong things.
business 2026 · 05Negotiating Tech Salary — Leverage, Anchors, and the Tactics
Most engineers leave $20-50K on the table at every offer. The negotiation tactics that work — when to disclose, how to anchor, the phrases that move numbers.
business 2026 · 05The Craft of Code Review — Reviews That Don't Wreck the Team
Code reviews break teams more often than they save them. The patterns that make reviews useful — for both reviewer and author. Templates and cultural rules.
business 2026 · 05CSS Subgrid — The Layout Primitive We Waited Six Years For
Subgrid landed in every browser. The five layouts that were impossible before — card alignment, form labels, nested navs, article+sidebar, pricing tables — finally work.
craft 2026 · 05View Transitions API — Native Page Transitions in Every Browser
SPA-quality transitions on multi-page sites without a framework. Same-document, cross-document, named element morphing — full production guide.
craft 2026 · 05CSS Anchor Positioning — Killing JS Tooltip Libraries
Floating-UI, Popper.js, Tippy — all rendered obsolete. Native CSS handles tooltip, popover, dropdown, and menu placement with overflow-aware fallbacks.
craft 2026 · 05Container Queries in Production — Real Component Design
Beyond toy examples. The architectural shift to truly self-contained components, container units, style queries, and the gotchas you only learn by shipping.
craft 2026 · 05Color Spaces in CSS — Why Your Gradients Look Muddy
sRGB is dead. OKLCH, Display P3, color-mix(), and relative color syntax give web designers the color tooling Figma had for years.
craft 2026 · 05CSS Scroll-Driven Animations — Parallax Without JavaScript
animation-timeline brings GSAP-quality scroll effects to pure CSS. No IntersectionObserver, no scroll listeners, no rAF loops. Composited and frame-perfect.
craft 2026 · 05How Linear Built the Fastest Web App You've Ever Used
A deep teardown of the performance techniques behind Linear — local-first architecture, optimistic UI, sync engines, request collapsing, the keyboard-first interaction model.
architecture 2026 · 05Building a Real SPA in 200 Lines of Vanilla JS
React, Vue, Svelte — all overkill for a content site. The complete recipe for routing, state, and reactivity with zero dependencies.
architecture 2026 · 05SVG Filters Cookbook — 8 Effects CSS Can't Do
Liquid distortion, gooey blob menus, paper grain, ink bleed, chromatic aberration. SVG filters give you what CSS filter alone can't.
craft 2026 · 05CSS @property — The Quiet Revolution Nobody Talks About
@property landed in every browser in 2023 and unlocked CSS effects that previously required JavaScript. Animatable angles, colors, numbers.
craft 2026 · 05The Honest Guide to RTL CSS
Arabic typography beyond direction: rtl. Logical properties, bidi text handling, Arabic-Indic numerals, font fallback chains, form direction.
craft 2026 · 05Building a Terminal in HTML — From Caret to ⌘K
Six components for the terminal aesthetic — blinking caret, scramble text, three-color prompt, command palette, autocomplete ghost, output styling.
craft 2026 · 05Real CSS Glass Morphism — 5 Recipes That Don't Look Generic
Apple Liquid Glass, Vision Pro spatial UI, Material You, Stripe fintech, premium dark surfaces. Five production-grade frosted-glass recipes.
craft 2026 · 05The iOS Safari Bestiary — Every Rendering Bug & Its Fix
A field guide to iOS Safari's worst CSS rendering bugs — filter:blur compositing, @property limits, Liquid Glass quirks. Real fixes, tested on iOS 26.
craft 2026 · 05Conic Gradients Beyond the Color Wheel — 12 CSS Effects
Pie charts, progress rings, candy stripes, holographic foil, vinyl records. Twelve production-ready conic-gradient effects, all pure CSS.
craft 2026 · 05CSS Loaders That Don't Embarrass You
10 production-quality loaders — the kind Stripe, Linear, Apple, and Vercel ship. Pure CSS, accessible, and not made for a 2008 Geocities site.
craft 2026 · 05Google AI Thinking Animation — Free CSS Snippets
The conic-gradient bloom from Gemini and AI Studio, dissected into four copy-paste variants.
craft 2026 · 05Charging in dollars from Cairo
On pricing psychology when geography lies. The three rules that decoupled my rates from my zip code.
business 2026 · 05The Egyptian tech diaspora
What stays when Egyptian engineering talent emigrates — and what the country gets in return that never makes it into the diaspora narrative.
essays 2026 · 05Why I don't hire yet
The solo founder math in 2026 — why one-person is now a structural choice, not a stage before scaling.
business 2026 · 04The discipline of saying no
Strategic refusal as the most underrated business filter. Four refusal categories and the compound interest they generate.
business 2026 · 04On running three brands in parallel
Most founders spread thin across multiple ventures. The discipline is in keeping each one held to the same standard, regardless of category.
business 2026 · 04Why craft still matters in an automated economy
The argument that AI replaces craftsmanship misses what craftsmanship actually is. It was never about the output.
craft 2026 · 04Reputation over reach
The trade-off most founders refuse to make — and why the slower path is the only one that compounds.
business 2026 · 03Building from Cairo
On geography, perception, and why the location of the work matters less than the standard of it.
essays 2026 · 03Detail is the difference
A meditation on the thousand small decisions that separate considered work from generic work.
craft 2026 · 03Patience as a strategy
Every business that lasts was built slower than people expected. The argument for treating time as the primary asset.
business 2026 · 03One standard, many categories
How a portfolio across software, fashion, and athletics maintains coherent quality without converging on a single voice.
essays