<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://mhasansagor.me/</loc>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://mhasansagor.me/newsletter</loc>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mhasansagor.me/newsletter/sponsor</loc>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog</loc>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/react-formesh-case-study</loc>
<lastmod>2026-09-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/react-formesh-multi-section-forms</loc>
<lastmod>2026-09-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/inside-large-erp-frontend-architecture-scale</loc>
<lastmod>2026-09-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/why-i-built-a-form-library-instead-of-reaching-for-one</loc>
<lastmod>2026-09-19T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/free-custom-email-netlify-improvmx-brevo</loc>
<lastmod>2026-08-06T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/interview-question-stopped-asking</loc>
<lastmod>2026-07-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/code-reviews-at-scale</loc>
<lastmod>2026-06-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/senior-engineer-job-description</loc>
<lastmod>2026-05-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/ai-2026-shipped-vs-hype</loc>
<lastmod>2026-04-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/multi-tenant-saas</loc>
<lastmod>2026-03-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/technologies-id-skip-2026</loc>
<lastmod>2026-02-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/seven-years-in</loc>
<lastmod>2026-01-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/database-migrations-no-downtime</loc>
<lastmod>2025-09-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/component-library-three-years</loc>
<lastmod>2025-08-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/postmortem-culture</loc>
<lastmod>2025-07-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/technical-debt-framework</loc>
<lastmod>2025-06-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/hiring-engineers</loc>
<lastmod>2025-04-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/building-internal-tools</loc>
<lastmod>2025-03-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/staff-engineer-transition</loc>
<lastmod>2025-02-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/designing-for-longevity</loc>
<lastmod>2025-01-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/typescript-utility-types-daily</loc>
<lastmod>2024-10-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/git-bisect-saved-deploy</loc>
<lastmod>2024-09-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/reading-other-peoples-code</loc>
<lastmod>2024-08-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/framer-motion-performance</loc>
<lastmod>2024-07-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/docker-for-frontend-devs</loc>
<lastmod>2024-06-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/ssh-keys-not-hard</loc>
<lastmod>2024-05-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/reviewing-500-prs</loc>
<lastmod>2024-04-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/from-frontend-to-fullstack</loc>
<lastmod>2024-03-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/building-rag-playground</loc>
<lastmod>2024-02-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/ai-features-erp</loc>
<lastmod>2024-01-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/tailwind-dynamic-classes-gotcha</loc>
<lastmod>2023-12-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/debugging-stale-closures</loc>
<lastmod>2023-11-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/rtk-query-enterprise-guide</loc>
<lastmod>2023-10-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/asg-erp</loc>
<lastmod>2023-09-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/cra-to-vite-migration</loc>
<lastmod>2023-08-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/building-payroll-system</loc>
<lastmod>2023-06-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/scaling-react-erp</loc>
<lastmod>2023-04-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/oneerp-project</loc>
<lastmod>2023-02-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/year-i-learned-to-say-no</loc>
<lastmod>2022-12-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/documentation-as-tool</loc>
<lastmod>2022-11-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/why-i-stopped-putting-server-state-in-redux</loc>
<lastmod>2022-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/permission-system-design</loc>
<lastmod>2022-08-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/miah-ecommerce</loc>
<lastmod>2022-06-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/architecture-review-changed-career</loc>
<lastmod>2022-04-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/mentoring-without-condescension</loc>
<lastmod>2022-03-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/leading-first-project</loc>
<lastmod>2022-01-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/year-one-mid-level</loc>
<lastmod>2021-12-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/rest-to-graphql-migration</loc>
<lastmod>2021-10-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/accessibility-isnt-optional</loc>
<lastmod>2021-09-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/first-production-incident</loc>
<lastmod>2021-07-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/performance-budgets</loc>
<lastmod>2021-06-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/learning-to-read-code</loc>
<lastmod>2021-04-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/design-system-from-scratch</loc>
<lastmod>2021-03-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/typescript-pragmatic-migration</loc>
<lastmod>2021-01-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/stopped-copy-pasting-stackoverflow</loc>
<lastmod>2020-12-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/tailwind-css-first-month</loc>
<lastmod>2020-11-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/redux-toolkit-changed-my-mind</loc>
<lastmod>2020-09-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/first-time-git-in-team</loc>
<lastmod>2020-07-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/working-from-home-2020</loc>
<lastmod>2020-05-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/javascript-promises-confusion-to-clarity</loc>
<lastmod>2020-03-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/first-spa-react-router</loc>
<lastmod>2020-01-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/first-code-review</loc>
<lastmod>2019-11-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/why-i-stopped-using-jquery-in-2019</loc>
<lastmod>2019-09-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/first-production-bug</loc>
<lastmod>2019-07-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/css-flexbox-finally-clicked</loc>
<lastmod>2019-05-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/learning-react-in-2019</loc>
<lastmod>2019-03-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://mhasansagor.me/blog/hello-world-my-first-year</loc>
<lastmod>2019-01-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
