<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://rainytech.dev/</loc>
<image:image>
<image:loc>https://rainytech.dev/opengraph-image</image:loc>
</image:image>
<lastmod>2026-11-13T18:01:40.762Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://rainytech.dev/ideas</loc>
<lastmod>2026-11-13T18:01:40.762Z</lastmod>
<changefreq>daily</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/privacy</loc>
<lastmod>2026-11-13T18:01:40.762Z</lastmod>
<changefreq>yearly</changefreq>
<priority>0.2</priority>
</url>
<url>
<loc>https://rainytech.dev/articles</loc>
<lastmod>2026-11-09</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/topic/ai</loc>
<lastmod>2026-11-09</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/topic/python</loc>
<lastmod>2026-10-25</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/topic/web</loc>
<lastmod>2026-11-09</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/topic/security</loc>
<lastmod>2026-10-25</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/topic/dev-tools</loc>
<lastmod>2026-10-25</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/topic/open-source-apps</loc>
<lastmod>2026-11-09</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/gridcraft-vs-excel-i-checked-1-968-formulas-from-microsoft-s-own-templates-in-this-free-rust-app</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/gridcraft-vs-excel-i-checked-1-968-formulas-from-microsoft-s-own-templates-in-this-free-rust-app/opengraph-image</image:loc>
</image:image>
<lastmod>2026-11-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/i-pointed-craft-anything-at-hacker-news-claude-code-rebuilt-it-91-without-me-writing-a-line</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/i-pointed-craft-anything-at-hacker-news-claude-code-rebuilt-it-91-without-me-writing-a-line/opengraph-image</image:loc>
</image:image>
<lastmod>2026-11-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/wordcraft-i-tested-the-free-rust-built-microsoft-word-alternative-203-pages-to-pdf-in-0-16-s</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/wordcraft-i-tested-the-free-rust-built-microsoft-word-alternative-203-pages-to-pdf-in-0-16-s/opengraph-image</image:loc>
</image:image>
<lastmod>2026-11-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/i-tested-concat-the-free-open-source-capcut-alternative-rust-offline-ai-built-in-mcp-server</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/i-tested-concat-the-free-open-source-capcut-alternative-rust-offline-ai-built-in-mcp-server/opengraph-image</image:loc>
</image:image>
<lastmod>2026-11-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/i-asked-kimi-k3-1-pro-to-build-a-3d-game-from-one-prompt-it-worked-here-s-the-catch</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/i-asked-kimi-k3-1-pro-to-build-a-3d-game-from-one-prompt-it-worked-here-s-the-catch/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-30</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/php-got-hacked-php2shell-litellm-gitlab-and-a-ca-key-of-4-what-devs-should-update-now</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/php-got-hacked-php2shell-litellm-gitlab-and-a-ca-key-of-4-what-devs-should-update-now/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-25</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/is-filmcraft-100-free-i-scored-the-open-source-premiere-pro-clone-in-10-rounds</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/is-filmcraft-100-free-i-scored-the-open-source-premiere-pro-clone-in-10-rounds/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/photocraft-review-i-tested-the-free-open-source-photoshop-alternative-with-4-real-edits</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/photocraft-review-i-tested-the-free-open-source-photoshop-alternative-with-4-real-edits/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-18</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/i-tested-3-free-open-source-adobe-clones-on-my-mac-here-are-the-real-numbers</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/i-tested-3-free-open-source-adobe-clones-on-my-mac-here-are-the-real-numbers/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/claude-code-vs-codex-vs-github-copilot-same-repo-same-task-3-different-workflows</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/claude-code-vs-codex-vs-github-copilot-same-repo-same-task-3-different-workflows/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-14</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/claude-opus-5-built-a-full-stack-app-from-one-prompt-64-64-tests-and-3-invented-package-versions</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/claude-opus-5-built-a-full-stack-app-from-one-prompt-64-64-tests-and-3-invented-package-versions/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-14</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/flask-jwt-authentication-build-a-secure-banking-api-in-python-login-roles-tested</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/flask-jwt-authentication-build-a-secure-banking-api-in-python-login-roles-tested/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-14</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/git-tutorial-for-beginners-2026-commits-branches-merge-conflicts-and-rebase</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/git-tutorial-for-beginners-2026-commits-branches-merge-conflicts-and-rebase/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-14</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/how-ai-image-generators-work-i-trained-a-diffusion-model-from-scratch-on-my-laptop</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/how-ai-image-generators-work-i-trained-a-diffusion-model-from-scratch-on-my-laptop/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-14</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/i-let-openai-codex-build-my-website-from-one-prompt-5-minutes-23-seconds-12-12-checks</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/i-let-openai-codex-build-my-website-from-one-prompt-5-minutes-23-seconds-12-12-checks/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-14</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/build-a-chatbot-in-python-from-scratch-no-api-keys-no-ai-libraries</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/build-a-chatbot-in-python-from-scratch-no-api-keys-no-ai-libraries/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-13</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/next-js-16-tutorial-for-beginners-build-a-real-banking-app-in-9-lessons</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/next-js-16-tutorial-for-beginners-build-a-real-banking-app-in-9-lessons/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-13</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/claude-code-vs-openai-codex-same-app-same-prompt-20-automated-tests-full-results</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/claude-code-vs-openai-codex-same-app-same-prompt-20-automated-tests-full-results/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-12</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/fastapi-jwt-authentication-in-2026-a-complete-login-api-in-one-file-argon2-pyjwt-tested</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/fastapi-jwt-authentication-in-2026-a-complete-login-api-in-one-file-argon2-pyjwt-tested/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-12</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/fine-tune-an-llm-on-your-mac-with-mlx-qlora-in-16-seconds-real-run-no-cloud</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/fine-tune-an-llm-on-your-mac-with-mlx-qlora-in-16-seconds-real-run-no-cloud/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-11</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/gemini-4-argon-vs-gpt-6-astra-vs-claude-api-pricing-and-access-for-developers-october-2026</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/gemini-4-argon-vs-gpt-6-astra-vs-claude-api-pricing-and-access-for-developers-october-2026/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-11</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/how-to-install-python-3-14-on-mac-and-set-up-vs-code-2026-beginner-guide</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/how-to-install-python-3-14-on-mac-and-set-up-vs-code-2026-beginner-guide/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://rainytech.dev/articles/run-ai-locally-on-your-mac-with-ollama-chat-tools-rag-and-a-custom-model-real-numbers-from-a-mac-mini-m4</loc>
<image:image>
<image:loc>https://rainytech.dev/articles/run-ai-locally-on-your-mac-with-ollama-chat-tools-rag-and-a-custom-model-real-numbers-from-a-mac-mini-m4/opengraph-image</image:loc>
</image:image>
<lastmod>2026-10-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
