<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://tylerduprey.com/</loc>
</url>
<url>
<loc>https://tylerduprey.com/about</loc>
</url>
<url>
<loc>https://tylerduprey.com/about/resume</loc>
</url>
<url>
<loc>https://tylerduprey.com/contact</loc>
</url>
<url>
<loc>https://tylerduprey.com/search</loc>
</url>
<url>
<loc>https://tylerduprey.com/sitemap</loc>
</url>
<url>
<loc>https://tylerduprey.com/policies</loc>
</url>
<url>
<loc>https://tylerduprey.com/terms</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/building-ai-agents-for-workflow-automation-on-vercel</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/using-the-eve-agent-framework-with-nextjs</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/designing-reliable-ai-agent-pipelines</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/ai-agent-vs-cron-job-or-webhook</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/nextjs-rendering-strategies-for-product-teams</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/diagnosing-core-web-vitals-on-nextjs-vercel</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/shadcn-tailwind-design-system-that-scales</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/turborepo-for-teams</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/whats-new-in-nextjs-what-matters-for-production</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/edge-config-middleware-feature-flags-underused</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/anatomy-of-a-vercel-migration</loc>
</url>
<url>
<loc>https://tylerduprey.com/blog/how-i-evaluate-ai-agent-automation-readiness</loc>
</url>
</urlset>
