<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://joser.ca/categories/ai/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/ai-tools/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/claude-code/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/elixir/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v2-3-0/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/hooks/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/phoenix/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/productivity/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/security/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/tools/</loc>
    <lastmod>2026-03-26T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/code-quality/</loc>
    <lastmod>2026-03-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v2-2-0/</loc>
    <lastmod>2026-03-23T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/authentication/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/behaviours/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/ecto/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v2-1-0/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/fp-series/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/functional-programming/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/learning/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/modules/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-module-organization-vs-class-hierarchies/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/protocols/</loc>
    <lastmod>2026-03-20T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v2-0-0/</loc>
    <lastmod>2026-03-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/guards/</loc>
    <lastmod>2026-03-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-guards-and-pattern-matching-in-function-heads/</loc>
    <lastmod>2026-03-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/pattern-matching/</loc>
    <lastmod>2026-03-19T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v1-4-0/</loc>
    <lastmod>2026-03-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/oban/</loc>
    <lastmod>2026-03-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/otp/</loc>
    <lastmod>2026-03-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/composition/</loc>
    <lastmod>2026-03-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/higher-order-functions/</loc>
    <lastmod>2026-03-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-higher-order-functions/</loc>
    <lastmod>2026-03-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/reduce/</loc>
    <lastmod>2026-03-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/composability/</loc>
    <lastmod>2026-03-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-the-pipe-operator/</loc>
    <lastmod>2026-03-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/pipe-operator/</loc>
    <lastmod>2026-03-03T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v1-3-0/</loc>
    <lastmod>2026-02-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-recursion-over-iteration/</loc>
    <lastmod>2026-02-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/recursion/</loc>
    <lastmod>2026-02-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/tail-call-optimization/</loc>
    <lastmod>2026-02-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/testing/</loc>
    <lastmod>2026-02-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-pattern-matching/</loc>
    <lastmod>2026-02-17T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-phoenix-guide-v1-2-0/</loc>
    <lastmod>2026-02-14T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-pure-functions-vs-side-effects/</loc>
    <lastmod>2026-02-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/pure-functions/</loc>
    <lastmod>2026-02-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/side-effects/</loc>
    <lastmod>2026-02-13T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/elixir-claude-optimization-v1-1-0/</loc>
    <lastmod>2026-02-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/first-class-functions/</loc>
    <lastmod>2026-02-04T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-functions-as-first-class-citizens/</loc>
    <lastmod>2026-02-04T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/immutability/</loc>
    <lastmod>2026-02-02T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/fp-series-immutability-vs-mutable-state/</loc>
    <lastmod>2026-02-02T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/ai-development/</loc>
    <lastmod>2026-01-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/claude-code-elixir-plugin-comparison/</loc>
    <lastmod>2026-01-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/developer-tools/</loc>
    <lastmod>2026-01-27T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/tidewave/</loc>
    <lastmod>2026-01-15T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/tidewave-mermaid-diagrams/</loc>
    <lastmod>2026-01-15T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/development-workflow/</loc>
    <lastmod>2026-01-11T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/my-ai-tool-stack-january-2026/</loc>
    <lastmod>2026-01-11T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/embedded-systems/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/espresso/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/managing-complex-projects-with-stride/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/productivity/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/project-management/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/rancilio-silvia/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/stride/</loc>
    <lastmod>2026-01-09T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/deploying-to-flyio/</loc>
    <lastmod>2025-10-22T10:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/deployment/</loc>
    <lastmod>2025-10-22T10:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/devops/</loc>
    <lastmod>2025-10-22T10:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/fly.io/</loc>
    <lastmod>2025-10-22T10:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/infrastructure/</loc>
    <lastmod>2025-10-22T10:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/software-development/</loc>
    <lastmod>2025-10-22T10:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/security-with-sobelow/</loc>
    <lastmod>2025-10-03T18:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/best-practices/</loc>
    <lastmod>2025-10-03T18:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/elixir/</loc>
    <lastmod>2025-10-03T18:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/mix-audit/</loc>
    <lastmod>2025-10-03T18:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/security/</loc>
    <lastmod>2025-10-03T18:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/sobelow/</loc>
    <lastmod>2025-10-03T18:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/code-quality/</loc>
    <lastmod>2025-10-03T17:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/credo/</loc>
    <lastmod>2025-10-03T17:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/linting/</loc>
    <lastmod>2025-10-03T17:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/credo-code-quality/</loc>
    <lastmod>2025-10-03T17:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/coverage/</loc>
    <lastmod>2025-10-03T16:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/testing-and-coverage/</loc>
    <lastmod>2025-10-03T16:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/quality/</loc>
    <lastmod>2025-10-03T16:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/testing/</loc>
    <lastmod>2025-10-03T16:00:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/building-web-app-with-tidewave/</loc>
    <lastmod>2025-09-23T16:11:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/tags/tutorial/</loc>
    <lastmod>2025-09-23T16:11:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/categories/web-development/</loc>
    <lastmod>2025-09-23T16:11:00-04:00</lastmod>
  </url><url>
    <loc>https://joser.ca/posts/hello-world/</loc>
    <lastmod>2025-09-12T00:00:00+00:00</lastmod>
  </url><url>
    <loc>https://joser.ca/about/</loc>
  </url><url>
    <loc>https://joser.ca/projects/</loc>
  </url>
</urlset>
