About
I'm a full-stack engineer, currently Principal Front-End Engineer at VML, where I lead front-end work on Sitecore headless platforms and experimentation stacks for banks and giga-projects across the Gulf — Saudi National Bank, First Abu Dhabi Bank, Aldar, New Murabba, and the Expo 2030 Riyadh bid among them.
I work across the stack — React and Next.js on the front, Node and headless CMS platforms behind them — and my specialty is web performance: making those applications fast, and keeping them that way with budgets that fail the build instead of guidelines that die in a wiki. I care about the parts of engineering you can measure — Core Web Vitals, bundle bytes, main-thread time — and about the craft you can feel in the details.
Now: rebuilding this site in public as its own performance case study, and writing about what that surfaces — 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 strategy across Sitecore Headless and experimentation stacks — architecture, performance, 3D/GSAP animation direction, and AI-assisted development workflows for enterprise clients across the Gulf.
- Next.js
- TypeScript
- Sitecore JSS
- Web Performance
Senior Full-Stack Engineer · Wunderman Thompson (became VML)
Oct 2023 — Jan 2024Delivered features across the stack in TypeScript/Next.js and Node, optimized build and release flows, and contributed to design systems and experimentation tooling.
- Next.js
- TypeScript
- Design Systems
Mid-Senior Full-Stack Engineer · Mirum Agency (became Wunderman Thompson)
Oct 2022 — Sep 2023Built full-stack features — responsive interfaces backed by CMS and API work — introduced animation best practices with GSAP and Three.js, and streamlined team workflows with tooling and testing improvements.
- 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 on the way — LCP case studies, Next.js bundle forensics, and INP deep dives. All writing →






