<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://udhaya.me</loc>
<lastmod>2026-03-20T07:18:58.156Z</lastmod>
<changefreq>yearly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://udhaya.me/about</loc>
<lastmod>2026-03-20T07:18:58.156Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://udhaya.me/blog</loc>
<lastmod>2026-03-20T07:18:58.156Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://udhaya.me/blog/build-link-previews-with-playwright-and-the-popover-api</loc>
<lastmod>2026-01-01T12:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/a-modern-table-of-contents-in-nextjs-with-css-anchor-positioning</loc>
<lastmod>2025-12-31T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-use-signal-forms-in-angular</loc>
<lastmod>2025-12-29T06:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/great-software-teaches-great-taste</loc>
<lastmod>2025-11-10T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/the-only-nextjs-favicon-guide-youll-need</loc>
<lastmod>2025-06-11T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/introducing-blogfolio-v5</loc>
<lastmod>2025-03-31T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/my-evolved-blogfolio-in-2023</loc>
<lastmod>2023-12-29T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/checking-if-the-url-contains-a-given-string-in-angular-a-comparison-of-three-approaches</loc>
<lastmod>2022-12-21T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/effective-use-of-beforeeach-and-aftereach-in-angular-unit-tests</loc>
<lastmod>2022-12-20T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/blogfolio-v3-update-2022</loc>
<lastmod>2022-12-13T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-create-an-animated-loading-spinner-with-tailwind-css</loc>
<lastmod>2022-10-04T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/5-basic-tips-for-angular-unit-testing</loc>
<lastmod>2022-05-28T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/learn-how-to-click-a-button-when-angular-unit-testing</loc>
<lastmod>2022-05-27T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/enable-autocomplete-for-tailwind-css-in-vscode</loc>
<lastmod>2022-04-27T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/what-makes-a-unit-test-valuable</loc>
<lastmod>2022-04-21T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/you-dont-need-a-cs-degree-to-land-a-web-development-job</loc>
<lastmod>2022-04-13T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/the-powerful-css-not-selector</loc>
<lastmod>2022-03-28T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-enable-preview-mode-in-next-js-for-your-cms</loc>
<lastmod>2022-03-15T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/tailwind-gradients-how-to-make-a-glowing-gradient-background</loc>
<lastmod>2022-02-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/6-best-fonts-for-programming-in-2022</loc>
<lastmod>2022-01-25T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/a-new-opportunity-at-logicgate</loc>
<lastmod>2022-01-17T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-dynamically-create-open-graph-images-with-cloudinary-and-next-js</loc>
<lastmod>2021-12-21T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/introducing-my-new-blogfolio</loc>
<lastmod>2021-12-13T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/maximize-component-reusability-with-bit</loc>
<lastmod>2021-11-24T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-create-a-chat-layout-with-tailwindcss-and-css-grid</loc>
<lastmod>2021-10-08T07:32:14.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-unit-test-an-http-service-in-angular</loc>
<lastmod>2021-09-20T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/use-named-exports-over-default-exports-in-javascript</loc>
<lastmod>2021-09-02T13:32:14.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/the-gumball-machine-how-to-quickly-identify-unit-test-cases</loc>
<lastmod>2021-08-25T15:32:14.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-use-the-tailwindcss-typography-plugin</loc>
<lastmod>2021-08-13T15:32:14.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/hold-up-what-are-javascript-generators</loc>
<lastmod>2021-07-16T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/technical-interview-preparation-and-tips-to-consider</loc>
<lastmod>2021-07-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/why-every-developer-should-build-their-own-blog</loc>
<lastmod>2021-06-03T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/unit-testing-fraud-why-code-coverage-is-a-lie</loc>
<lastmod>2021-05-12T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/build-a-glassmorphic-navbar-with-tailwindcss-backdrop-filter-and-backdrop-blur</loc>
<lastmod>2021-04-22T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/creating-the-jamstack-logo-with-css</loc>
<lastmod>2021-04-16T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-i-define-mvp</loc>
<lastmod>2021-04-08T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/a-web-developers-ipad-setup-for-productivity</loc>
<lastmod>2021-03-03T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/6-best-fonts-for-programming-in-2021</loc>
<lastmod>2021-02-18T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/creating-a-killer-github-profile-readme-part-2</loc>
<lastmod>2021-01-26T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/the-cite-html-tag</loc>
<lastmod>2021-01-21T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/creating-a-killer-github-profile-readme-part-1</loc>
<lastmod>2021-01-19T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/no-code-build-games-with-gamesalad</loc>
<lastmod>2021-01-14T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/the-kbd-html-tag</loc>
<lastmod>2021-01-12T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/the-progress-html-tag</loc>
<lastmod>2021-01-05T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/2021-goals-for-the-new-year</loc>
<lastmod>2020-12-30T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/my-vscode-toolbox-2020</loc>
<lastmod>2020-11-16T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/mocking-services-in-angular</loc>
<lastmod>2020-10-30T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/not-so-spooky-ghost-with-html-and-css</loc>
<lastmod>2020-10-30T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/mocking-components-in-angular</loc>
<lastmod>2020-10-28T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/how-to-make-a-single-div-logo</loc>
<lastmod>2020-10-23T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/change-text-highlight-color-with-css</loc>
<lastmod>2020-10-20T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/git-hooks-with-husky</loc>
<lastmod>2020-10-12T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://udhaya.me/blog/web-development-concepts-in-swiftui</loc>
<lastmod>2020-10-09T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
