About
I'm a full-stack engineer — currently Principal Front-End Engineer at VML— where I lead the engineering of digital platforms for enterprise clients in banking, real estate, and national-scale programs: Saudi National Bank, First Abu Dhabi Bank, Aldar, New Murabba, and Expo 2030 Riyadh among them.
My specialty is web performance. I treat speed as an engineering discipline — designed in from the start, measured in production, and enforced automatically — because on the modern web, performance is product quality. This site is built to that standard, and its numbers are public.
Now: writing about performance engineering, with this site as the working case study — starting here.
Experience
One agency, three names — Mirum became Wunderman Thompson became VML through successive mergers. Same team, growing scope.
Principal Front-End Engineer · VML
Feb 2024 — PresentLeading front-end architecture and performance strategy for enterprise platforms — setting engineering standards, directing motion and 3D work, and bringing AI-assisted workflows into delivery.
- Next.js
- TypeScript
- Sitecore JSS
- Web Performance
Senior Full-Stack Engineer · Wunderman Thompson (became VML)
Oct 2023 — Jan 2024Delivered full-stack features in TypeScript, Next.js, and Node; strengthened design systems, experimentation tooling, and release pipelines.
- Next.js
- TypeScript
- Design Systems
Mid-Senior Full-Stack Engineer · Mirum Agency (became Wunderman Thompson)
Oct 2022 — Sep 2023Built end-to-end product features — interfaces, CMS integrations, and APIs — and raised the bar on motion, tooling, and testing across the team.
- React
- GSAP
- Three.js
Selected Work
Stack
Frontend
- TypeScript
- JavaScript
- React
- Next.js
- Tailwind CSS
- SASS
Backend & Data
- Node.js
- C# / .NET
- PHP
- MySQL
- GraphQL
Platforms & CMS
- Sitecore Headless
- Payload CMS
- WordPress
- Optimizely
Motion & 3D
- GSAP
- Three.js
Tooling & Infra
- Docker
- AWS
- CI/CD
- Git
- Figma
Writing
How This Site Loads in Under One Second (and How You Can Verify It Right Now)
4 minAn annotated walkthrough of this exact page's load — the budget it was built to, the requests it makes, the things it deliberately refuses to ship, and how to check every claim yourself in DevTools.
INP Is a React Problem (and React Has the Tools to Fix It)
4 minInteraction to Next Paint punishes exactly the thing React does by design: large synchronous renders on the main thread. Where the milliseconds go, how to see them in a trace, and the fix ladder from memoization to useTransition to leaving React out of it.
Your Next.js Bundle Is Lying to You: A Field Guide to Finding the Real Bloat
4 minHow to read Next.js build output correctly, catch barrel-file explosions and 'use client' contagion, and set up CI guardrails — illustrated with the real numbers from cutting this site from 173 kB to 105 kB of first-load JavaScript.
More essays in the pipeline. All writing →






