---
title: "Mohamed Gado (@mohamedgado) | Hashnode"
description: "Senior Software Engineer · React, Next.js, React Native · Building Masareef & Rafiq. Read the latest articles by Mohamed Gado on Hashnode."
url: "https://hashnode.com/@mohamedgado"
---

@mohamedgado

# Mohamed Gado

@mohamedgado · Tanta, Egypt · Joined November 2026

Senior Software Engineer · React, Next.js, React Native · Building Masareef & Rafiq

[Website](https://www.mohamedgado.com/)

### [React error #418: fixing a matchMedia hydration mismatch with useSyncExternalStore](https://mohamedgado.hashnode.dev/react-418-hydration-matchmedia?utm_source=hashnode&utm_medium=feed)

Minified React error #418 on every page load came from reading window.matchMedia in a useState initializer. useSyncExternalStore fixed it.

7 min read · [mohamedgado.hashnode.dev](https://mohamedgado.hashnode.dev/react-418-hydration-matchmedia?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/react-418-hydration-matchmedia/6af3b009c068f38b85719849) [7h ago](https://hashnode.com/posts/react-418-hydration-matchmedia/6af3b009c068f38b85719849)

### [Why a CSS rotate with will-change: transform makes images and text blurry](https://mohamedgado.hashnode.dev/css-rotate-will-change-blurry?utm_source=hashnode&utm_medium=feed)

My screenshots looked pixelated though the files were sharp. A 0.9deg rotate under will-change: transform was the cause. The CSS before and after.

7 min read · [mohamedgado.hashnode.dev](https://mohamedgado.hashnode.dev/css-rotate-will-change-blurry?utm_source=hashnode&utm_medium=feed)

[7h ago](https://hashnode.com/posts/css-rotate-will-change-blurry/6af3af655291ca39a180b682)

### [Next.js metadata openGraph not inherited: why my subpages lost og:site\_name](https://mohamedgado.hashnode.dev/nextjs-metadata-opengraph-merge?utm_source=hashnode&utm_medium=feed)

Next.js merges metadata shallowly, so a page that sets openGraph drops the layout's og:site\_name, og:locale and twitter handles. How I found it and fixed it.

6 min read · [mohamedgado.hashnode.dev](https://mohamedgado.hashnode.dev/nextjs-metadata-opengraph-merge?utm_source=hashnode&utm_medium=feed)

[7h ago](https://hashnode.com/posts/nextjs-metadata-opengraph-merge/6af3aec429c64eb6fbf06cec)

### [Next.js soft 404: why notFound() returned 200 behind loading.tsx](https://mohamedgado.hashnode.dev/nextjs-soft-404-loading-tsx?utm_source=hashnode&utm_medium=feed)

Unknown slugs on my Next.js App Router site returned HTTP 200 with index and noindex tags. loading.tsx was the cause, dynamicParams = false the fix.

6 min read · [mohamedgado.hashnode.dev](https://mohamedgado.hashnode.dev/nextjs-soft-404-loading-tsx?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/nextjs-soft-404-loading-tsx/6af3ae65b6a13c936150a729) [7h ago](https://hashnode.com/posts/nextjs-soft-404-loading-tsx/6af3ae65b6a13c936150a729)

### [Discovered – currently not indexed in Search Console: what it means and what fixed it](https://mohamedgado.hashnode.dev/discovered-currently-not-indexed?utm_source=hashnode&utm_medium=feed)

50 of my pages sat in Discovered – currently not indexed. Here is what the status means, why Google skipped them, and the fixes that worked.

7 min read · [mohamedgado.hashnode.dev](https://mohamedgado.hashnode.dev/discovered-currently-not-indexed?utm_source=hashnode&utm_medium=feed)

[7h ago](https://hashnode.com/posts/discovered-currently-not-indexed/6af3ade664bb21ce65b936ff)
