A practical guide to using Next.js rewrites for first-party Umami analytics, with better signal quality and no move back to invasive tracking.
Mohamed Gamal
Frontend Developer
About
I build frontend systems with React and Next.js, with close attention to structure, interface quality, and execution.
My work sits at the intersection of engineering and design: strong planning, clean visual decisions, and implementation that stays careful all the way through. I care about products that feel considered, not improvised.
Reach me on X, connect on LinkedIn, or check out my GitHub.
Based in Cairo, Egypt.
Projects
Click to expand
Built for an agency that delivers digital systems, whether full stack products or more focused web work. The site is intentionally lean, with clear structure, bilingual routing, full RTL support, and strong SEO fundamentals. The frontend keeps heavier behavior away from the critical path while still supporting theming and polished interactions.
Stack: Next.js 16 App Router · React 19 · Tailwind CSS 4 · next-intl +3 more
Designed as a clean product-browsing experience for a showroom business, with full RTL support, structured navigation, and image-led discovery across multiple categories. The build focuses on clarity, search visibility, and a catalog structure that can scale as inventory and content grow.
Stack: Next.js 16 App Router · TypeScript · Tailwind CSS · Radix UI +4 more
Built as a managed frontend system for a travel agency rather than a static brochure. The site supports multilingual routing, curated travel content, inquiry flows, and dashboard-controlled updates for destinations, packages, and other commercial content. The emphasis was on giving the business a reliable publishing and communication layer without overcomplicating the public experience.
Stack: Next.js 15.5.5 App Router · TypeScript · Tailwind CSS 4 · shadcn/ui +6 more
Built as the next iteration of Rootly for self-taught developers who learn through courses, tutorials, and documentation. The product centers on Q&A notes, freeform notes, course progress, daily study tracking, and spaced-repetition review in one cloud-first system designed around how developers actually study.
Stack: Next.js 16 App Router (Turbopack) · TypeScript · Tailwind CSS 4 · coss ui + Base UI +5 more
Approach
I work mostly with React and Next.js. I use React with Vite for focused client-side products, and Next.js when the product needs a stronger foundation for routing, content, SEO, or backend work, usually with Supabase and Postgres.
For UI, I usually reach for shadcn/ui or coss ui. I prefer Base UI when I want control over the primitives, and Radix UI when the ecosystem fit is better.
Writing