<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://tomdekan.com</loc>
<lastmod>2025-12-06T11:30:17.079Z</lastmod>
<changefreq>yearly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://tomdekan.com/about</loc>
<lastmod>2025-12-06T11:30:17.079Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/add-javascript-library-to-django-template</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/ai-basic-logic-fails</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/ai-commit-messages</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/ai-needs-human-complexity</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/ai-spending</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/ai-suggest</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/amazing-photos-with-nextjs</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/auto-open-graph-image-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/automatically-register-django-admin-models</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/build-web-apps-with-webflow-and-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/chatgpt-htmx-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/comment-threads</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/connect4-htmx</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/create-django-form-with-alpine-js</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/database-search-django-htmx</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/deploy-instant-messenger</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/deploy-ninja</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/detect-ai-text</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/django-with-google-sheets-database</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/email-llm-receipts</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/email-sign-in</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/english-database-query</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/eval-frameworks</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/generated-field-examples</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/google-sign-in</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/google-sign-in-nextjs</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/gpt-macos</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/infinite-scroll-htmx-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/instant-messenger</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/lambda-for-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/llm-stream</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/loaddata-dumpdata</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/lottie-animation</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/mistake-db-query-in-for-loop</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/mistake-network-responses</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/my-simple-speech-to-text</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/next-django-ninja</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/ninja-react</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/notion-database-for-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/omnisearch</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/polling-htmx</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/postgres-queue</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/product-hunt-launch-guide</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/quiz-htmx</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/react-auth</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/react-search-bar</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/screenshot-app</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/server-sent-events-daphne</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/serverless-functions-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/serverless-python-function</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/setting-permissions-for-django-viewset-methods</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/snake-eating-synthetic-tail</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/spend-money</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/sst-batch-jobs</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/stackfix-homepage-search</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/starting-customer-development</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/store-api-keys-securely</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/stripe-subs</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/stripe-with-nextjs</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/submit-async-django-form-with-htmx</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/tailwind-with-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/typed-django-react</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/unit-tests-factory-boy-faker</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/upload-files-django-alpinejs</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/upload-files-properly-django-htmx</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/upload-images-cloud-django</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/use-embeddings</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/use-react</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/veo3-experiments</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/voice-api</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/vue-auth</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://tomdekan.com/articles/webhooks-ai-color</loc>
<lastmod>2025-12-06T11:30:17.080Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
