<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://gritframework.dev/</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://gritframework.dev/playground</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/hire</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/showcase</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/donate</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/installation</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/quick-start</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/configuration</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/philosophy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/project-structure</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/troubleshooting</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/getting-started/create-without-docker</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/prerequisites/golang</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/prerequisites/nextjs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/prerequisites/docker</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/concepts/architecture</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/concepts/cli</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/concepts/code-generation</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/concepts/naming-conventions</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/concepts/styles</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/concepts/type-system</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/authentication</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/handlers</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/middleware</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/migrations</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/models</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/rbac</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/response-format</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/seeders</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/services</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/api-docs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/backend/pulse</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/frontend/hooks</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/frontend/shared-package</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/frontend/web-app</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/overview</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/resources</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/datatable</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/forms</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/multi-step-forms</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/relationships</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/widgets</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/admin/standalone-usage</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/ai</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/caching</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/cron</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/email</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/jobs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/security</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/batteries/storage</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/infrastructure/database</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/infrastructure/deployment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/infrastructure/dokploy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/infrastructure/docker</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/infrastructure/docker-cheatsheet</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/design/theme</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/tutorials/contact-app</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/tutorials/blog</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/tutorials/ecommerce</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/tutorials/learn</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/tutorials/product-catalog</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/tutorials/saas</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/ai-workflows/claude</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/ai-workflows/antigravity</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/ai-skill</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/changelog</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/docs/plugins</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/introduction</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/first-app</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/code-generator</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/authentication</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/admin-panel</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/file-storage</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/jobs-email</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/ai-features</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-web/deploy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-desktop</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-desktop/first-app</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-desktop/crud-data</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-desktop/custom-ui</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-desktop/export</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-desktop/build</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-mobile</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-mobile/first-app</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-mobile/auth-navigation</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-mobile/api-offline</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-mobile/notifications</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-mobile/build-store</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/batteries</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/api-masterclass</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile-fitness-app</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/ecommerce-spa</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/api-docs-scalar</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security-deep-dive</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/pulse-analytics</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/gorm-studio</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/react-vite-go</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/deployment-guide</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/saas-with-ai</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/invoice-desktop</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/testing</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/gorm-mastery</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/realtime-chat</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/stripe-payments</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/blog-cms</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/cicd-github</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/custom-middleware</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/grit-ui-components</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/course</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/welcome</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/welcome/what-is-grit</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/welcome/when-to-use-grit</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/welcome/install-grit</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/welcome/verify-install</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/welcome/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/first-project</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/first-project/grit-new</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/first-project/project-tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/first-project/dev-servers</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/first-project/first-look</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/first-project/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/conventions</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/conventions/folder-conventions</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/conventions/naming-conventions</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/conventions/api-response-format</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/conventions/error-handling</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/conventions/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/generators</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/generators/what-is-a-resource</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/generators/grit-generate</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/generators/what-got-generated</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/generators/grit-sync</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/generators/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/frameworks-patterns</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/frameworks-patterns/gin-basics</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/frameworks-patterns/gorm-basics</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/frameworks-patterns/handler-service-pattern</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/frameworks-patterns/crud-walkthrough</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/frameworks-patterns/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/batteries-overview</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/redis-cache</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/s3-storage</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/mail-resend</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/async-jobs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/ai-integration</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/batteries/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/architecture-modes</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/architecture-modes/single-mode</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/architecture-modes/triple-mode</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/architecture-modes/specialized-modes</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/architecture-modes/choosing-a-kit</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/concepts/architecture-modes/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/scaffold-tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/scaffold-tour/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/scaffold-tour/project-tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/scaffold-tour/first-request</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/scaffold-tour/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/models</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/models/gorm-basics</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/models/relations</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/models/migrations</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/models/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/auth</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/auth/jwt</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/auth/oauth</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/auth/totp</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/auth/rbac</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/auth/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/batteries</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/batteries/jobs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/batteries/mail</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/batteries/storage</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/batteries/ai</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/batteries/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/security-observability</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/security-observability/sentinel</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/security-observability/pulse</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/security-observability/audit-log</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/security-observability/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/deploy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/deploy/grit-deploy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/deploy/env-config</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/go-api/deploy/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/scaffold/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/scaffold/expo-tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/scaffold/first-run</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/scaffold/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/shared-types</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/shared-types/grit-sync-mobile</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/shared-types/api-client</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/shared-types/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/auth</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/auth/login-ui</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/auth/secure-storage</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/auth/refresh</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/auth/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/push-notifications</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/push-notifications/register</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/push-notifications/send-from-api</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/push-notifications/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/ship</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/ship/eas-build</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/ship/submit</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/ship/ota</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/mobile/ship/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/scaffold/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/scaffold/tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/scaffold/shared-package</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/scaffold/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/public-site</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/public-site/landing</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/public-site/seo</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/public-site/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/dashboard</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/dashboard/signup</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/dashboard/dashboard-widgets</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/dashboard/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/admin-panel</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/admin-panel/define-resource</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/admin-panel/datatable</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/admin-panel/formbuilder</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/admin-panel/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/tenants</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/tenants/tenant-models</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/tenants/role-gates</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/tenants/invitations</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-nextjs/tenants/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/scaffold/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/scaffold/tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/routing</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/routing/file-routes</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/routing/type-safe-links</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/routing/search-params</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/data</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/data/loaders</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/data/react-query</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/auth</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/auth/login</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/auth/refresh-pattern</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/auth/route-protection</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/deploy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/deploy/embed-build</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/web-tanstack/deploy/deploy</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.4</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/scaffold/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/scaffold/wails-dev</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/scaffold/first-build</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/scaffold/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/offline</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/offline/sqlite</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/offline/outbox</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/offline/sync</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/offline/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/frameless</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/frameless/titlebar</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/frameless/window-controls</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/frameless/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/auto-update</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/auto-update/updater-go</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/auto-update/modal-ui</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/auto-update/release-script</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/auto-update/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/installers</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/installers/project-nsi</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/installers/project-slim</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/installers/bitmaps</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/desktop/installers/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/foundation</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/foundation/scaffold</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/foundation/monorepo-wiring</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/foundation/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/shared-types</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/shared-types/grit-sync-multi</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/shared-types/shared-zod</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/shared-types/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/feature-implementation</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/feature-implementation/pick-feature</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/feature-implementation/web-impl</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/feature-implementation/mobile-impl</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/feature-implementation/desktop-impl</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/feature-implementation/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/sync</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/sync/mobile-offline</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/sync/desktop-outbox</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/sync/conflicts</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/sync/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/releases</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/releases/compat-matrix</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/releases/staggered</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/multiplatform/releases/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/fundamentals</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/fundamentals/why-load-test</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/fundamentals/install-k6</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/fundamentals/first-script</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/fundamentals/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/scenarios</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/scenarios/smoke-load</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/scenarios/stress-spike</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/scenarios/soak-test</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/scenarios/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/finding-bottlenecks</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/finding-bottlenecks/reading-metrics</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/finding-bottlenecks/common-bottlenecks</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/finding-bottlenecks/fix-and-prove</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/finding-bottlenecks/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/ci-integration</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/ci-integration/github-actions</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/load-testing/ci-integration/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/mindset</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/mindset/threat-model</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/mindset/owasp-tour</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/mindset/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/access-control</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/access-control/idor</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/access-control/authz-package</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/access-control/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/injection-ssrf</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/injection-ssrf/sql-injection</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/injection-ssrf/ssrf-safefetch</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/injection-ssrf/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/auth-secrets</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/auth-secrets/jwt-pitfalls</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/auth-secrets/secrets</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/auth-secrets/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/defensive-stack</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/defensive-stack/sentinel-rate-limit</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/defensive-stack/csrf-cors</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/defensive-stack/audit-log</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/security/defensive-stack/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/fundamentals</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/fundamentals/first-bench</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/fundamentals/reading-output</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/fundamentals/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/profiling</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/profiling/cpu-profile</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/profiling/heap-profile</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/profiling/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/optimise</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/optimise/benchstat</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/optimise/one-optimisation</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://gritframework.dev/courses/benchmarking/optimise/assignment</loc>
<lastmod>2026-06-12T06:14:29.843Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
