<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://mattjames.dev</loc>
<lastmod>2026-11-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/start</loc>
</url>
<url>
<loc>https://mattjames.dev/now</loc>
</url>
<url>
<loc>https://mattjames.dev/notes</loc>
</url>
<url>
<loc>https://mattjames.dev/comments</loc>
</url>
<url>
<loc>https://mattjames.dev/wall</loc>
</url>
<url>
<loc>https://mattjames.dev/contact</loc>
</url>
<url>
<loc>https://mattjames.dev/tags</loc>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-11-03-is-ai-sentient</loc>
<lastmod>2026-11-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-10-17-my-ai-stack</loc>
<lastmod>2026-10-17T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-09-28-crowdsourcing-development</loc>
<lastmod>2026-09-28T08:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-09-06-bootload-failed-but-it-wasnt-a-waste</loc>
<lastmod>2026-09-06T05:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-02-01-we-may-soon-have-a-digital-war-with-ai-on-our-hands</loc>
<lastmod>2026-02-01T08:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-02-01-ai-inflection-point-in-software-development</loc>
<lastmod>2026-11-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-01-21-the-checklist-trick-for-working-with-ai</loc>
<lastmod>2026-01-21T04:30:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2026-01-21-autonomous-ai-coding-with-ralph</loc>
<lastmod>2026-11-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2023-06-01-software-complexity</loc>
<lastmod>2023-06-01T03:58:47.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2022-10-30-healthy-doubt-of-your-code</loc>
<lastmod>2022-10-30T03:58:47.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2021-05-27-choosing-new-dev-tools</loc>
<lastmod>2021-05-27T02:58:47.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2021-05-19-auto-increment-ids-are-not-strictly-monotonic</loc>
<lastmod>2021-05-19T02:58:47.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2021-05-18-solving-high-data-contention-problems-with-a-typical-web-stack</loc>
<lastmod>2021-05-18T02:58:47.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2019-08-02-oracle-v-google</loc>
<lastmod>2026-11-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/posts/2019-01-15-building-better-apis</loc>
<lastmod>2026-11-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-11-04-no-touching-things-after-the-spec</loc>
<lastmod>2026-11-04T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-11-04-if-only</loc>
<lastmod>2026-11-04T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-31-whats-safe-nowadays</loc>
<lastmod>2026-10-31T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-30-a-good-incident-response</loc>
<lastmod>2026-10-30T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-29-when-an-agent-makes-a-mistake</loc>
<lastmod>2026-10-29T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-28-the-90s-thought-exercise</loc>
<lastmod>2026-10-28T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-24-linus-on-ai-rules</loc>
<lastmod>2026-10-24T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-21-letting-claude-push-back</loc>
<lastmod>2026-10-21T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-21-indian-certificate-authorities</loc>
<lastmod>2026-10-21T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-20-the-murderer-is</loc>
<lastmod>2026-10-20T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-17-patch-with-a-prompt</loc>
<lastmod>2026-10-17T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-14-margaret-hamilton</loc>
<lastmod>2026-10-14T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-06-not-tipping-over-the-edge</loc>
<lastmod>2026-10-06T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-05-the-machines-still-need-us</loc>
<lastmod>2026-10-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-10-01-one-take-isnt-enough</loc>
<lastmod>2026-10-01T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-30-connect-your-chatgpt-plan</loc>
<lastmod>2026-09-30T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-29-my-agent-your-thing</loc>
<lastmod>2026-09-29T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-28-inject-randomness</loc>
<lastmod>2026-09-28T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-26-when-multi-agent-is-worth-it</loc>
<lastmod>2026-09-26T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-26-problem-elimination</loc>
<lastmod>2026-09-26T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-18-jev</loc>
<lastmod>2026-09-18T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-18-jagged-intelligence</loc>
<lastmod>2026-09-18T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-18-enshittification-in-one-meme</loc>
<lastmod>2026-09-18T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-18-deepseek-beat-sonnet</loc>
<lastmod>2026-09-18T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-15-sticking-with-react-native</loc>
<lastmod>2026-09-15T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-08-write-slop-to-test</loc>
<lastmod>2026-09-08T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-08-programs-nobody-fully-understands</loc>
<lastmod>2026-09-08T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-07-dont-use-gmail-for-your-bots</loc>
<lastmod>2026-09-07T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-05-open-harnesses</loc>
<lastmod>2026-09-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-09-05-give-your-assistant-a-name</loc>
<lastmod>2026-09-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-29-dont-ask-claude-about-other-providers</loc>
<lastmod>2026-08-29T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-22-sol-vs-fable</loc>
<lastmod>2026-08-22T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-16-pipelines-not-layers</loc>
<lastmod>2026-08-16T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-15-dont-put-pressure-on-agents</loc>
<lastmod>2026-08-15T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-15-a-5-minute-change-would-take-a-day</loc>
<lastmod>2026-08-15T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-09-great-art-no-fun</loc>
<lastmod>2026-08-09T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-06-filing-a-feature-request</loc>
<lastmod>2026-08-06T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-06-convex-series-b</loc>
<lastmod>2026-08-06T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-05-tools-that-do-one-thing</loc>
<lastmod>2026-08-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-08-01-agents-get-stuck-in-local-minima</loc>
<lastmod>2026-08-01T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-30-discard-old-thinking-steps</loc>
<lastmod>2026-07-30T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-29-testing-sms-at-the-pub</loc>
<lastmod>2026-07-29T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-26-5th-in-the-icfp-contest</loc>
<lastmod>2026-07-26T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-06-landing-page-tip</loc>
<lastmod>2026-07-06T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-05-why-fable-offered-to-push</loc>
<lastmod>2026-07-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-05-fable-searches-git-history</loc>
<lastmod>2026-07-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-05-fable-safeguards</loc>
<lastmod>2026-07-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-02-when-claude-likes-your-code-base</loc>
<lastmod>2026-07-02T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-02-let-it-loose</loc>
<lastmod>2026-07-02T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-02-almost-done-thinking</loc>
<lastmod>2026-07-02T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-07-01-tanstack-over-nextjs</loc>
<lastmod>2026-07-01T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-06-27-moving-old-code-to-a-new-stack</loc>
<lastmod>2026-06-27T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-06-25-when-will-llms-count-as-deterministic</loc>
<lastmod>2026-06-25T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-06-23-fresh-agents-catch-more-bugs</loc>
<lastmod>2026-06-23T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-06-17-tips-for-making-games-with-llms</loc>
<lastmod>2026-06-17T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-05-23-what-intelligence-is</loc>
<lastmod>2026-05-23T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-05-18-a-help-assistant-that-reads-your-code</loc>
<lastmod>2026-05-18T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-05-10-claude-in-the-browser-for-boring-tasks</loc>
<lastmod>2026-05-10T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-05-07-goblins</loc>
<lastmod>2026-05-07T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-05-02-go-delete-the-database</loc>
<lastmod>2026-05-02T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-05-01-coding-in-2027</loc>
<lastmod>2026-05-01T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-30-developers-are-going-away</loc>
<lastmod>2026-04-30T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-25-new-convex-changes</loc>
<lastmod>2026-04-25T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-20-release-mythos-already</loc>
<lastmod>2026-04-20T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-17-opus-4-7-benchmarks</loc>
<lastmod>2026-04-17T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-15-pseudo-code-for-hairy-logic</loc>
<lastmod>2026-04-15T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-13-keep-the-job-queue-in-postgres</loc>
<lastmod>2026-04-13T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-12-a-nation-state-hack</loc>
<lastmod>2026-04-12T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-10-just-release-the-model</loc>
<lastmod>2026-04-10T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-04-uis-generated-at-runtime</loc>
<lastmod>2026-04-04T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-04-03-no-one-reads-the-code</loc>
<lastmod>2026-04-03T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-03-28-ask-for-a-4-hour-task</loc>
<lastmod>2026-03-28T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-03-27-takeaways-from-anthropics-harness-post</loc>
<lastmod>2026-03-27T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-03-12-my-dad-and-brother-edit-the-website</loc>
<lastmod>2026-03-12T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-03-06-sketch-before-colour</loc>
<lastmod>2026-03-06T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-03-05-sandboxes-ive-tried</loc>
<lastmod>2026-03-05T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-02-28-both-can-be-true</loc>
<lastmod>2026-02-28T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-02-23-discard-it-and-start-again</loc>
<lastmod>2026-02-23T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-02-22-add-a-compound-step</loc>
<lastmod>2026-02-22T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/notes/2026-02-19-improving-agents-is-like-gradient-descent</loc>
<lastmod>2026-02-19T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://mattjames.dev/tags/ai</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/tech</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/api</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/architecture</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/backend</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/general</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/management</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/product</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/science</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/security</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/software</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/startups</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/taskagent</loc>
</url>
<url>
<loc>https://mattjames.dev/tags/tools</loc>
</url>
</urlset>
