About
I'm a Principal Software 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.
My specialty is web performance: making React and Next.js 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 Software 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 Software Engineer · Wunderman Thompson (became VML)
Oct 2023 — Jan 2024Implemented front-end solutions in TypeScript/Next.js, optimized build and release flows, and contributed to design systems and experimentation tooling.
- Next.js
- TypeScript
- Design Systems
Mid-Senior Software Engineer · Mirum Agency (became Wunderman Thompson)
Oct 2022 — Sep 2023Built modern, responsive interfaces, introduced animation best practices with GSAP and Three.js, and streamlined team workflows with tooling and testing improvements.
- React
- GSAP
- Three.js
Selected Work
Alahli Bank (SNB)Sitecore headless platform built with Next.js for Saudi National Bank — component architecture, multi-market delivery, and performance tuning.
First Abu Dhabi BankNext.js + Sitecore JSS headless platform for the UAE's largest bank — design-system components, build pipeline, and Core Web Vitals work.
New MurabbaExperimentation platform for the Riyadh giga-project — Optimizely A/B framework, feature flags, and metrics instrumentation.
AldarSitecore headless frontend for Abu Dhabi's largest real-estate developer — component library and performance optimization.
AlatPayload CMS platform with a custom theme, bespoke integrations, and a performance-first frontend.
Expo 2030 RiyadhWordPress platform with a custom theme and integrations for Saudi Arabia's Expo 2030 bid.Stack
Core
- TypeScript
- JavaScript
- React
- Next.js
- Node.js
Styling & Motion
- Tailwind CSS
- SASS
- GSAP
- Three.js
Platforms & CMS
- Sitecore Headless
- Payload CMS
- WordPress
- Optimizely
- GraphQL
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 →
