<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://mohamedhasan.me</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>1</priority>
</url>
<url>
<loc>https://mohamedhasan.me/about</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://mohamedhasan.me/process</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/experience</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://mohamedhasan.me/contact</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services/nextjs-application-development</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services/react-frontend-and-ui-systems</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services/web3-product-interfaces</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services/custom-admin-and-internal-tools</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services/docs-and-learning-surfaces</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/services/performance-accessibility-and-polish</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects/analytics-console-redesign</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects/nft-marketplace-frontend</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects/design-system-and-component-library</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects/developer-docs-platform</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects/internal-operations-tooling</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/projects/marketing-site-rebuild</loc>
<lastmod>2026-09-08T16:18:25.960Z</lastmod>
<priority>0.6</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/build-a-token-swap-dapp-with-thirdweb-a-to-z</loc>
<lastmod>2026-09-08T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/account-abstraction-for-frontend-engineers</loc>
<lastmod>2026-09-07T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/reading-chain-state-without-melting-your-rpc</loc>
<lastmod>2026-08-25T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/signing-without-gas-eip712-permit2-meta-transactions</loc>
<lastmod>2026-07-02T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/transaction-ui-reorgs-replacements-dropped</loc>
<lastmod>2026-05-15T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/multi-chain-frontends-one-app-many-networks</loc>
<lastmod>2026-02-08T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/wallet-connection-2026-eip6963-connector-layer</loc>
<lastmod>2025-12-22T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/indexing-contract-events-with-viem-and-postgres</loc>
<lastmod>2025-09-20T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/streaming-llm-responses-in-the-app-router</loc>
<lastmod>2026-09-03T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/partial-prerendering-by-building-a-page</loc>
<lastmod>2026-08-05T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/view-transitions-api-for-real-apps</loc>
<lastmod>2026-07-12T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/realtime-without-a-realtime-service</loc>
<lastmod>2026-01-15T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/webassembly-for-heavy-compute-in-the-browser</loc>
<lastmod>2025-11-18T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/how-i-scope-a-frontend-engagement</loc>
<lastmod>2026-08-18T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/app-router-data-fetching-decision-tree</loc>
<lastmod>2026-06-02T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/design-tokens-that-survive-a-rebrand</loc>
<lastmod>2026-04-14T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/forms-that-dont-fight-the-user</loc>
<lastmod>2026-02-20T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/core-web-vitals-field-guide</loc>
<lastmod>2025-12-09T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/accessible-component-library-without-the-overwhelm</loc>
<lastmod>2025-10-03T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/wallet-connect-ux-unhappy-path</loc>
<lastmod>2025-07-22T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/caching-in-the-app-router-without-footguns</loc>
<lastmod>2025-05-05T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/when-to-reach-for-a-state-manager</loc>
<lastmod>2025-03-11T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/nextjs-middleware-is-a-doorman-not-a-firewall</loc>
<lastmod>2024-10-02T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/server-components-vs-client-components-kept-real</loc>
<lastmod>2025-02-02T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
<url>
<loc>https://mohamedhasan.me/blog/things-to-stop-doing-in-nextjs-2025</loc>
<lastmod>2025-05-10T00:00:00.000Z</lastmod>
<priority>0.7</priority>
</url>
</urlset>
