<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://sageideas.dev</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://sageideas.dev/about</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://sageideas.dev/projects</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://sageideas.dev/case-studies</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/blog</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/contact</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/resume</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/platform</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://sageideas.dev/dashboard</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/artifacts</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services/fintech</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services/enterprise-qa</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services/cloud-infrastructure</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services/trading-systems</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services/ai-development</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/services/technical-consulting</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/hire</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/stack</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/start</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://sageideas.dev/case-studies/nexural-ecosystem</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://sageideas.dev/case-studies/alphastream</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://sageideas.dev/case-studies/aws-landing-zone</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://sageideas.dev/case-studies/testing-frameworks</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://sageideas.dev/case-studies/nexural-discord-bot</loc>
<lastmod>2026-04-27T18:07:22.992Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/github-oidc-aws-no-long-lived-keys-cloud-automation-the-right-way</loc>
<lastmod>2026-01-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/building-a-production-ready-api-testing-framework</loc>
<lastmod>2024-01-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/page-object-model-beyond-the-basics</loc>
<lastmod>2024-01-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/fixing-docker-compose-connection-errors-in-ci-cd</loc>
<lastmod>2024-01-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/performance-testing-from-zero-to-production</loc>
<lastmod>2023-12-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/mobile-test-automation-with-appium-the-complete-guide</loc>
<lastmod>2023-12-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/building-a-fintech-platform-solo-185-tables-69-apis-7-systems</loc>
<lastmod>2026-04-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/building-an-ai-discord-bot-for-a-trading-community</loc>
<lastmod>2026-04-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/why-i-treat-my-portfolio-like-a-production-system</loc>
<lastmod>2026-04-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-recruiter-pack-why-i-give-away-my-qa-playbooks</loc>
<lastmod>2026-04-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/designing-a-185-table-database-schema-lessons-from-building-nexural</loc>
<lastmod>2026-04-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/real-time-websocket-architecture-patterns-that-actually-scale</loc>
<lastmod>2026-04-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/stripe-integration-lessons-what-the-docs-don</loc>
<lastmod>2026-04-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/monolith-vs-microservices-why-i-chose-a-modular-monolith-for-nexural</loc>
<lastmod>2026-04-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/feature-engineering-for-trading-200-indicators-that-actually-matter</loc>
<lastmod>2026-04-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/building-a-backtesting-engine-that-doesn</loc>
<lastmod>2026-03-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/portfolio-risk-math-explained-var-cvar-and-why-covariance-estimation-matters</loc>
<lastmod>2026-03-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/terraform-module-patterns-how-i-structure-iac-for-reuse</loc>
<lastmod>2026-03-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/docker-in-ci-cd-the-patterns-that-cut-my-pipeline-time-by-82</loc>
<lastmod>2026-03-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/aws-cost-optimization-how-i-keep-a-production-platform-under-50-month</loc>
<lastmod>2026-03-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/test-strategy-for-startups-what-to-test-when-you-can</loc>
<lastmod>2026-03-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/eliminating-flaky-tests-a-systematic-approach</loc>
<lastmod>2026-02-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/owasp-top-10-automated-testing-a-practical-implementation</loc>
<lastmod>2026-02-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/what-i-learned-building-in-public-as-a-solo-engineer</loc>
<lastmod>2026-02-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-solo-engineer</loc>
<lastmod>2026-02-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-bug-that-taught-me-more-than-any-course-ever-did</loc>
<lastmod>2026-02-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/your-test-coverage-number-is-lying-to-you</loc>
<lastmod>2026-01-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/i-read-50-senior-engineer-job-descriptions-here</loc>
<lastmod>2026-01-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/why-i-use-raw-sql-instead-of-an-orm-most-of-the-time</loc>
<lastmod>2026-01-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/what-trading-futures-taught-me-about-writing-software</loc>
<lastmod>2026-01-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/how-i-debug-production-issues-a-real-framework-not-guessing</loc>
<lastmod>2026-01-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/authentication-is-harder-than-you-think</loc>
<lastmod>2025-12-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-architecture-decision-nobody-writes-down</loc>
<lastmod>2025-12-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/rate-limiting-the-feature-nobody-thinks-about-until-it</loc>
<lastmod>2025-12-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/how-to-review-your-own-code-when-there</loc>
<lastmod>2025-12-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-case-against-over-engineering-from-someone-who</loc>
<lastmod>2025-12-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/supabase-in-production-what-i-wish-i-knew-before-185-tables</loc>
<lastmod>2025-11-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/environment-variables-the-security-hole-in-every-startup</loc>
<lastmod>2025-11-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/how-i-structure-a-next-js-project-after-6-production-apps</loc>
<lastmod>2025-11-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/monitoring-that-actually-tells-you-something</loc>
<lastmod>2025-11-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/git-workflows-that-don</loc>
<lastmod>2025-10-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/why-most-api-documentation-is-useless-and-how-to-fix-yours</loc>
<lastmod>2025-10-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-myth-of-the-10x-developer</loc>
<lastmod>2025-10-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/building-for-the-next-engineer-code-that-outlasts-you</loc>
<lastmod>2025-10-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/running-an-llc-as-an-engineer-what-nobody-tells-you</loc>
<lastmod>2025-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-technical-interview-from-both-sides-of-the-table</loc>
<lastmod>2025-09-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/the-automation-mindset-if-you-do-it-twice-script-it</loc>
<lastmod>2025-09-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/writing-a-120-000-word-book-while-building-software-full-time</loc>
<lastmod>2025-09-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/error-handling-that-respects-your-users</loc>
<lastmod>2025-08-25T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/why-i-document-every-system-i-build-and-the-template-i-use</loc>
<lastmod>2025-08-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://sageideas.dev/blog/everything-i-shipped-this-year-and-what-i</loc>
<lastmod>2025-08-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
