<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://pushp-portfolio.vercel.app/</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/about</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/projects</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/contact</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/donate</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/resume</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/snippets</loc>
<lastmod>2026-06-01T20:13:23.536Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/multi-tenant-isolation</loc>
<lastmod>2025-03-28T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/migrating-tanstack-start-to-nextjs-app-router</loc>
<lastmod>2025-10-15T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/beyond-jwts-stateful-session-architecture</loc>
<lastmod>2025-09-22T08:30:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/designing-scalable-analytics-postgres-clickhouse</loc>
<lastmod>2025-08-10T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/why-i-built-my-own-cms-not-contentful</loc>
<lastmod>2025-07-02T11:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/debugging-ssr-runtime-crashes-vercel</loc>
<lastmod>2025-06-18T09:15:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/api-security-defaults</loc>
<lastmod>2025-02-14T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/fixing-hydration-errors-react</loc>
<lastmod>2025-05-12T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/ssrf-defense-nodejs</loc>
<lastmod>2025-04-22T08:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/refresh-token-rotation</loc>
<lastmod>2025-04-12T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/stripe-webhooks-idempotency</loc>
<lastmod>2025-03-30T12:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/multi-tenant-postgres-rls</loc>
<lastmod>2025-03-28T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/secure-file-uploads-node</loc>
<lastmod>2025-02-18T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/redis-sliding-window-rate-limiting</loc>
<lastmod>2024-07-11T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/dockerizing-nextjs-production</loc>
<lastmod>2025-01-05T14:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/stop-using-uuidv4-database-primary-keys</loc>
<lastmod>2024-12-10T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/httponly-session-cookies</loc>
<lastmod>2024-11-20T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/cloudflare-page-rules-bandwidth</loc>
<lastmod>2024-10-15T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/vscode-setup-nextjs-go</loc>
<lastmod>2024-09-05T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/server-components-vs-client-components</loc>
<lastmod>2024-08-22T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/preventing-xss-in-markdown</loc>
<lastmod>2024-06-05T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/burnout-and-scope-creep</loc>
<lastmod>2024-05-18T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/debugging-server-component-boundaries</loc>
<lastmod>2024-04-10T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/building-reliable-audit-logs</loc>
<lastmod>2024-03-01T10:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/blog/building-a-production-grade-secure-authentication-system-from-jwt-to-zero-trust</loc>
<lastmod>2026-05-28T16:50:21.369Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/mitaan-express</loc>
<lastmod>2026-05-28T15:50:20.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/chhattisgarh-shadi</loc>
<lastmod>2026-05-28T15:52:14.428Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/crova</loc>
<lastmod>2026-05-28T15:50:20.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/bizcode</loc>
<lastmod>2026-05-28T15:50:20.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/growth-hub</loc>
<lastmod>2026-05-28T15:50:20.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/locolive</loc>
<lastmod>2026-05-28T15:50:20.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/yoyofun</loc>
<lastmod>2026-05-28T15:50:20.600Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://pushp-portfolio.vercel.app/case-studies/ciphera</loc>
<lastmod>2026-05-29T20:32:09.577Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
