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