<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://blogs.sagarsangwan.dev</loc>
<lastmod>2026-03-25T07:11:06.786Z</lastmod>
<changefreq>daily</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-i-built-an-email-sending-system-in-nextjs-with-drizzle-postgresql-brevo-queue-daily-limits</loc>
<lastmod>2026-03-02T08:49:36.696Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/se7-practical-python-scripts-that-automate-everyday-tasks-real-tools-youll-actually-use</loc>
<lastmod>2026-03-06T12:42:57.227Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-i-prevent-my-apis-from-being-destroyed-by-bots</loc>
<lastmod>2026-03-12T12:25:42.330Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-send-emails-using-google-smtp-in-a-next-js-app-1737116314250</loc>
<lastmod>2026-01-06T00:30:24.109Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/unlocking-seamless-authentication-a-comprehensive-guide-to-google-login-with-django-and-react-part-1-1737276092821</loc>
<lastmod>2025-07-17T09:07:20.719Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/tired-of-a-messy-downloads-folder-i-built-a-python-script-to-fix-it-forever-1767456604431</loc>
<lastmod>2026-01-14T18:51:58.288Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-i-built-google-oauth-for-a-real-saas-nextjs-authjs-creatorcopilot-part-2</loc>
<lastmod>2026-03-24T11:12:31.660Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/the-seo-stack-i-actually-use-in-my-nextjs-blog-with-real-implementation</loc>
<lastmod>2026-03-05T11:28:06.053Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/top-13-prisma-extensions-for-enhanced-database-capabilities-1737881960260</loc>
<lastmod>2025-12-18T23:23:10.752Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-build-a-validated-multistep-form-with-shadcn-and-react-hook-form-1737103391497</loc>
<lastmod>2026-01-15T23:28:34.391Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-track-page-views-and-set-cookies-in-next-js-a-complete-guide-1737291965478</loc>
<lastmod>2025-12-26T12:16:23.810Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/dynamic-pricing-and-discounts-developing-a-token-purchase-interface-in-react-1737640760420</loc>
<lastmod>2025-12-27T08:32:38.369Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/pdf-generation-in-next-js-15-with-puppeteer-1737813702027</loc>
<lastmod>2026-01-14T18:56:19.484Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-build-a-simple-python-script-with-a-web-interface-for-data-transformation-1737706455930</loc>
<lastmod>2025-12-19T14:43:07.408Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/unlocking-seamless-authentication-a-comprehensive-guide-to-google-login-with-django-and-react-part-2-1737275987474</loc>
<lastmod>2025-12-18T18:11:21.959Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-add-social-media-sharing-in-a-next-js-blog-1737539126020</loc>
<lastmod>2025-12-23T08:45:27.714Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/next-js-vs-react-choosing-the-right-framework-for-your-project-1744035077629</loc>
<lastmod>2026-01-07T16:50:37.725Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-create-a-dynamic-sitemap-in-next-js-with-prisma-1737616239430</loc>
<lastmod>2025-12-25T16:47:48.690Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-can-you-build-an-ai-news-aggregator-with-flask-vercel-for-free-1739351276476</loc>
<lastmod>2025-11-07T18:21:47.735Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/git-and-github-for-beginners-a-complete-step-by-step-guide-1739779106060</loc>
<lastmod>2025-12-19T12:18:08.077Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-automate-your-daily-tasks-with-python-5-advanced-scripts-for-real-productivity-1738673337313</loc>
<lastmod>2025-12-21T09:45:55.730Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/next-js-blog-seo-how-to-implement-metadata-for-maximum-visibility-1739623212952</loc>
<lastmod>2025-12-18T14:30:02.799Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/the-ultimate-gitignore-guide-for-django-and-next-js-projects-1739871598860</loc>
<lastmod>2026-01-09T05:11:19.691Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/10-mind-blowing-javascript-one-liners-1743429493127</loc>
<lastmod>2025-10-03T00:25:24.342Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-build-a-live-password-strength-meter-in-next-js-with-zxcvbn-js-1738166975873</loc>
<lastmod>2026-01-08T12:07:15.958Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-use-prisma-in-next-js-15-with-javascript-a-complete-step-by-step-guide-1737517896974</loc>
<lastmod>2026-01-07T03:16:35.514Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-create-a-reusable-multi-select-dropdown-component-in-react-with-shadcn-and-react-hook-form-1738167525866</loc>
<lastmod>2026-01-06T06:53:14.984Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/next-js-authentication-showdown-nextauth-free-databases-vs-clerk-vs-auth0-in-2025-1737099417238</loc>
<lastmod>2026-01-13T06:29:38.606Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/api-gateway-vs-direct-service-calls-real-trade-offs-from-building-microservices</loc>
<lastmod>2026-02-28T09:40:08.223Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/why-rss-feeds-still-win-in-2026-a-guide-for-nextjs-developers</loc>
<lastmod>2026-03-01T06:47:20.113Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-link-your-react-nextjs-application-with-google-drive-api-v3-list-and-search-files-upload-and-retrieve-files-with-google-drive-api-1737102611824</loc>
<lastmod>2026-01-15T08:25:18.435Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/class-based-views-vs-function-based-views-in-django-rest-framework-1746417881469</loc>
<lastmod>2025-11-16T14:57:37.557Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/the-u-s-government-s-bold-500-billion-investment-in-ai-infrastructure-1739542195438</loc>
<lastmod>2025-12-19T14:56:11.036Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://blogs.sagarsangwan.dev/blog/how-to-manage-django-settings-for-local-and-production-environments-1739897623572</loc>
<lastmod>2026-01-02T22:20:44.160Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
