<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://andrewvoirol.com</loc>
<lastmod>2026-08-26T22:58:33.115Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work</loc>
<lastmod>2026-08-26T22:58:33.115Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log</loc>
<lastmod>2026-08-26T22:58:33.115Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/about</loc>
<lastmod>2026-08-26T22:58:33.115Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/contact</loc>
<lastmod>2026-08-26T22:58:33.115Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/mujo</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/personal-pomodoro</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/buckybounce</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/edge-ai-lab</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/building-the-site</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/cartography</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/gemma-4</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/openclaw</loc>
<lastmod>2026-08-26T22:58:33.127Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/mujo-watercolor</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/snakes-on-a-screen-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/hair-raising-demogod-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/personal-pomodoro-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/snow-temp-3d-viz-rescue</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/stick-figure-countdown</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/will-it-fit-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/io-highlights-tracker-rescue</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/chronos-visual-time-rescue</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/ais-rotating-earth-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/interactive-globe-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/io-countdown-eye-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/hyper-nova-spectrum-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/ai-studio-gallery</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/google-io-concierge</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/io-physics-countdown</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/neon-hoberman-rescue</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/google-io-countdown-11-days</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/fluid-figures</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/geogenesis-unfold-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/geogenesis-unfolding-globe</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/evasive-contact-form</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/crypsis-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/elemental-flow-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/buckybounce-physics-lab</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/cloud-9-countdown-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/artemis-velocity-vis</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/atmosphere-3d-weather-gallery</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/atmostudio-weather-shader</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/atmosphere-weather-dashboard</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/bookmark-organizer-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/chronos-visual-time</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/deepweather-globe-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/hdr-image-generator</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/io-countdown-science-edition</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/isoglobe-weather-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/prompt-driven-physics-timer</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/red-eclipse-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/vibe-bench</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/automating-ai-studio</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/edge-ai-lab-development</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/openclaw-pipeline</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/building-the-site</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/gemma-4-benchmarks</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/dot-matrix-globe-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/work/globe-to-map-build</loc>
<lastmod>2026-08-26T22:58:33.294Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/from-55-folders-to-a-content-machine-that-runs-itself</loc>
<lastmod>2026-08-24T12:19:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/twenty-six-files-and-zero-git-history</loc>
<lastmod>2026-08-23T18:03:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/teaching-an-agent-to-write-like-me-not-like-an-agent</loc>
<lastmod>2026-08-23T17:36:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/content-pipeline-overhaul</loc>
<lastmod>2026-08-23T15:06:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/pruning-the-demogod-for-open-source-release</loc>
<lastmod>2026-08-22T18:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/shader-f16-m4-pro</loc>
<lastmod>2026-08-20T23:42:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/mujo-atelier-5-lab-experiments</loc>
<lastmod>2026-08-20T15:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/automated-verification</loc>
<lastmod>2026-08-20T01:32:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/killing-the-caterpillar-eliminating-vector-art-artifacts</loc>
<lastmod>2026-08-19T16:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/jagged-strokes</loc>
<lastmod>2026-08-18T04:23:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/48-elastic-bristle-rods-on-the-gpu</loc>
<lastmod>2026-08-17T14:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/washi-substrates</loc>
<lastmod>2026-08-17T02:49:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/saunderson-glaze</loc>
<lastmod>2026-08-16T22:20:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/kubelka-munk</loc>
<lastmod>2026-08-16T18:24:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/lbm-vs-darcy</loc>
<lastmod>2026-08-16T00:51:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/bristle-physics</loc>
<lastmod>2026-08-15T19:28:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/mujo-first-ink-on-digital-washi</loc>
<lastmod>2026-08-15T17:20:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/snakes-that-looked-like-a-bag-of-shapes</loc>
<lastmod>2026-08-14T21:24:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/compositing-a-brooklyn-loft-keynote-studio-at-60fps</loc>
<lastmod>2026-08-14T21:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/clouds-in-the-cabin-and-the-right-click-mutiny</loc>
<lastmod>2026-08-14T20:58:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/5229-lines-of-snake-zapping-fps-in-one-evening</loc>
<lastmod>2026-08-14T20:48:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-320-percent-hair-slider-that-bounces-when-i-talk</loc>
<lastmod>2026-08-14T19:35:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/two-bugs-and-the-tab-overflow-nobody-saw-coming</loc>
<lastmod>2026-08-14T13:31:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/stats-sounds-and-shipping-dockless</loc>
<lastmod>2026-08-14T13:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/snooze-penalties-that-actually-work</loc>
<lastmod>2026-08-14T13:26:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/menu-bar-app-in-14-minutes</loc>
<lastmod>2026-08-14T13:16:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/six-floating-struts-and-an-interactive-molecular-codex</loc>
<lastmod>2026-08-13T18:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/stress-lab-resonance-sweeps-and-yield-fracture</loc>
<lastmod>2026-08-13T17:56:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/topological-face-extraction-and-euler-target-rings</loc>
<lastmod>2026-08-13T17:40:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/actual-eclipse-still-had-the-app</loc>
<lastmod>2026-08-12T16:52:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/red-eclipse-assets</loc>
<lastmod>2026-08-12T14:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/red-eclipse-visualization</loc>
<lastmod>2026-08-12T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/1058-lines-of-shader-still-fighting-starfield</loc>
<lastmod>2026-08-08T17:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/telling-an-ai-what-30-percent-scroll-looks-like</loc>
<lastmod>2026-08-08T16:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/scroll-by-scroll-teaching-an-ai-to-see</loc>
<lastmod>2026-08-08T14:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-vision-gap</loc>
<lastmod>2026-08-08T01:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-portfolio-triage-dashboard-nobody-asked-for</loc>
<lastmod>2026-08-07T21:11:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/killed-nextjs-shipped-370-lines-of-scroll</loc>
<lastmod>2026-08-07T21:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/26-minutes-to-github-ready</loc>
<lastmod>2026-08-07T20:25:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/react-19-hiding-inside-nextjs-broke-the-3d-stack</loc>
<lastmod>2026-08-04T03:12:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/lazy-keys-and-real-gpus-shipping-terragemini</loc>
<lastmod>2026-08-04T01:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/dot-matrix-earth-export-to-github-in-ten-minutes</loc>
<lastmod>2026-08-03T22:55:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/six-files-zero-ai-one-custom-shader</loc>
<lastmod>2026-08-03T22:49:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/70-gif-frames-12-sizes-zero-consistency</loc>
<lastmod>2026-08-03T22:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/not-everything-needs-a-gradient-and-a-dark-theme</loc>
<lastmod>2026-08-03T21:21:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-rescue-that-wrote-its-own-playbook</loc>
<lastmod>2026-08-03T17:29:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/will-it-fit-spatial-reasoning-that-works</loc>
<lastmod>2026-08-03T17:08:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/eleven-models-one-commit-and-a-three-js-solar-system</loc>
<lastmod>2026-08-03T14:10:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/38-frame-sizes-in-one-gif</loc>
<lastmod>2026-08-03T13:21:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/glassmorphism-at-1am-and-the-commit-that-never-pushed</loc>
<lastmod>2026-08-03T01:19:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/clear-the-embarrassment</loc>
<lastmod>2026-08-03T00:34:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/four-models-one-missing-color</loc>
<lastmod>2026-08-03T00:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/runtime-error-as-the-hero-image</loc>
<lastmod>2026-08-03T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/beautiful-ui-hollow-backend</loc>
<lastmod>2026-08-02T22:44:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/dropped-into-a-dark-room-with-a-zip-file</loc>
<lastmod>2026-08-02T22:43:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/672-lines-of-someone-elses-physics</loc>
<lastmod>2026-08-02T19:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-ais-to-github-pipeline-that-taught-itself</loc>
<lastmod>2026-08-02T19:21:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/flickering-buildings-and-deterministic-hashing</loc>
<lastmod>2026-08-02T19:02:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/five-cities-three-states-one-globe</loc>
<lastmod>2026-08-02T18:46:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/tailwind-was-listed-but-never-installed</loc>
<lastmod>2026-08-02T18:17:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/freezing-time-so-the-sandbox-stays-fun</loc>
<lastmod>2026-08-02T17:58:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/warp-drive-needs-a-viewport-not-a-phone</loc>
<lastmod>2026-08-02T17:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/651-packages-and-zero-lines-of-ai</loc>
<lastmod>2026-08-02T17:44:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/a-countdown-that-tears-itself-apart-every-second</loc>
<lastmod>2026-08-02T17:14:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-countdown-hit-zero-and-the-eye-went-feral</loc>
<lastmod>2026-08-02T17:13:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-invisible-canvas-bug-strictmode-strikes-again</loc>
<lastmod>2026-08-02T17:02:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/freeze-at-three-timer-is-dead</loc>
<lastmod>2026-08-02T16:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/four-paths-to-actual-flash-bang</loc>
<lastmod>2026-08-02T12:41:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/cloud9-image-dimensions</loc>
<lastmod>2026-08-02T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/globe-to-map-ui</loc>
<lastmod>2026-08-02T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/210-lines-wearing-a-framework-costume</loc>
<lastmod>2026-08-02T01:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/one-night-two-commits-shipped</loc>
<lastmod>2026-08-01T23:43:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-gap-between-the-ones</loc>
<lastmod>2026-08-01T22:59:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/times-new-roman-was-the-whole-problem</loc>
<lastmod>2026-08-01T22:40:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/1053-lines-of-canvas-and-a-custom-projection</loc>
<lastmod>2026-08-01T18:10:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/tailwind-v4-ghosts-in-a-v3-project</loc>
<lastmod>2026-08-01T18:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-dark-room-recon-on-an-ai-studio-globe</loc>
<lastmod>2026-08-01T17:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ai-studio-export-to-shipped</loc>
<lastmod>2026-08-01T16:51:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/one-missing-minus-sign</loc>
<lastmod>2026-08-01T09:35:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/190-kilobytes-of-app-973-of-three-js</loc>
<lastmod>2026-08-01T02:17:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/buttery-unfurl-million-spinning-globes</loc>
<lastmod>2026-08-01T02:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-numbers-werent-numbers</loc>
<lastmod>2026-08-01T01:47:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ten-thousand-points-of-light-and-a-dead-end-after-nine</loc>
<lastmod>2026-08-01T00:16:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/nobody-hovers-fifteen-times</loc>
<lastmod>2026-07-31T21:12:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/a-submit-button-with-a-personality-disorder</loc>
<lastmod>2026-07-31T20:54:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-keyframe-fix-that-saved-fluid-mode</loc>
<lastmod>2026-07-31T20:47:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/one-prompt-periodic-table</loc>
<lastmod>2026-07-31T20:34:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/reconciler-crashes-and-the-reykjavik-snow-globe</loc>
<lastmod>2026-07-31T20:05:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-boring-box-that-wasnt-the-app</loc>
<lastmod>2026-07-31T19:50:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-frogmouth-that-fooled-the-prompt</loc>
<lastmod>2026-07-31T19:35:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/pasting-the-key-and-watching-it-hunt</loc>
<lastmod>2026-07-31T19:10:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-room-scan-that-almost-worked</loc>
<lastmod>2026-07-31T19:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/cloud9-r3f-scroll</loc>
<lastmod>2026-07-30T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/agent-kept-crashing-so-i-made-the-clouds</loc>
<lastmod>2026-07-29T14:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ai-studio-dropped-me-on-cloud-9</loc>
<lastmod>2026-07-29T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/react-fiber-tree-surgery-for-one-screenshot</loc>
<lastmod>2026-07-29T11:27:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ship-it-and-a-note-about-going-local</loc>
<lastmod>2026-07-29T04:32:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/one-broken-import-away-from-shipping</loc>
<lastmod>2026-07-29T04:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/two-repos-one-lesson-do-the-cleanup-right</loc>
<lastmod>2026-07-29T02:05:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/20-cities-zero-api-calls</loc>
<lastmod>2026-07-29T02:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/five-sound-caps-and-the-125-second-screencast-war</loc>
<lastmod>2026-07-29T01:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/from-hoberman-sphere-to-c60-spring-mass-physics</loc>
<lastmod>2026-07-29T01:32:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/sixty-projects-to-go-and-the-patterns-are-already-showing</loc>
<lastmod>2026-07-28T19:23:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/one-line-fix-geodesic-math-and-ripping-out-the-ghost-of-gemini</loc>
<lastmod>2026-07-28T19:04:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/from-broken-export-to-running-app-in-one-pass</loc>
<lastmod>2026-07-28T18:53:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/type-cyberpunk-acid-rain-every-slider-moves-at-once</loc>
<lastmod>2026-07-28T17:34:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ai-studio-export-to-github-in-20-minutes</loc>
<lastmod>2026-07-28T17:08:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/sixty-projects-and-the-skill-that-compounds</loc>
<lastmod>2026-07-28T16:49:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/one-version-number-between-blank-screen-and-weather</loc>
<lastmod>2026-07-28T16:23:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/117-subagents-5-waves-zero-hand-holding</loc>
<lastmod>2026-07-28T14:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/five-shader-layers-and-an-ai-that-paints-weather</loc>
<lastmod>2026-07-28T13:18:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/when-the-ai-studio-zip-actually-has-good-code-inside</loc>
<lastmod>2026-07-27T21:55:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/918-lines-of-raw-webgl-in-an-ai-studio-zip</loc>
<lastmod>2026-07-27T21:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-room-was-clean-and-the-baggage-was-186-megs</loc>
<lastmod>2026-07-27T21:22:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/nine-dead-deps-and-a-phantom-gemini-key</loc>
<lastmod>2026-07-27T21:09:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-broken-gem-in-the-ai-studio-export</loc>
<lastmod>2026-07-27T21:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/beautiful-corpse-eclipse-tracker-four-months-late</loc>
<lastmod>2026-07-27T17:40:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/gemini-traces-your-vans-floor-plan</loc>
<lastmod>2026-07-27T17:16:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/recon-in-the-dark-room</loc>
<lastmod>2026-07-27T13:31:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-snow-globe-that-builds-its-own-city</loc>
<lastmod>2026-07-27T06:53:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/is-this-a-dupe-or-an-iteration</loc>
<lastmod>2026-07-27T06:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/countdown-hit-zero-nobody-noticed</loc>
<lastmod>2026-07-27T04:13:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ai-studio-exports-a-galaxy-in-a-zip</loc>
<lastmod>2026-07-27T04:07:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/hoberman-sphere-in-the-dark</loc>
<lastmod>2026-07-27T03:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-unfurling-trick-custom-projection-interpolation</loc>
<lastmod>2026-07-27T02:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/48-lines-of-gag-buried-under-dead-dependencies</loc>
<lastmod>2026-07-27T02:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/snow-globe-in-a-zip-file</loc>
<lastmod>2026-07-27T02:25:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/cloud-9-started-as-a-zip-and-a-feeling</loc>
<lastmod>2026-07-27T02:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/time-without-numbers-the-export-that-already-worked</loc>
<lastmod>2026-07-27T01:47:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/6598-audiocontext-errors-the-ai-studio-recon</loc>
<lastmod>2026-07-27T01:40:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/recon-in-a-dark-room</loc>
<lastmod>2026-07-27T01:35:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/custom-glsl-clouds-in-an-ai-studio-export</loc>
<lastmod>2026-07-27T01:11:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-recon-report-that-said-cook-it</loc>
<lastmod>2026-07-27T01:04:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-recon-drop-mapping-an-ai-studio-codebase-in-the-dark</loc>
<lastmod>2026-07-27T00:55:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/twelve-thousand-particles-and-zero-api-keys</loc>
<lastmod>2026-07-27T00:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/css-filters-arent-hdr</loc>
<lastmod>2026-07-27T00:02:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/55-ai-studio-apps-and-no-idea-what-to-do-with-them</loc>
<lastmod>2026-07-26T13:38:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/mlx-vs-llamacpp-zero-overhead-vision</loc>
<lastmod>2026-07-22T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/twelve-ci-fixes-before-sunrise</loc>
<lastmod>2026-07-21T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/model-registry-to-capability-profiles</loc>
<lastmod>2026-07-20T23:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/eval-framework-bootstrapped</loc>
<lastmod>2026-07-20T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/huggingface-api-dynamic-model-registry</loc>
<lastmod>2026-07-19T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/mlx-debug-scheme-12x-speedup</loc>
<lastmod>2026-07-17T03:47:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/reduce-motion-and-animation-tokens</loc>
<lastmod>2026-07-13T19:46:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/tool-calling-agent-mode</loc>
<lastmod>2026-07-11T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/design-system-badge-color-discovery</loc>
<lastmod>2026-07-10T18:22:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/llama-cpp-xcframework-dual-build</loc>
<lastmod>2026-07-08T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/liquid-glass-design-vision</loc>
<lastmod>2026-07-08T00:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/three-engines-one-app</loc>
<lastmod>2026-07-06T07:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-mlx-engine-from-protocol-to-metal</loc>
<lastmod>2026-06-30T01:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/gpu-memory-latency-histograms-and-thermal-state</loc>
<lastmod>2026-06-28T15:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/908-to-1407-tests-in-six-hours</loc>
<lastmod>2026-06-19T14:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/208-tests-before-the-first-eval-ran</loc>
<lastmod>2026-06-11T16:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/ios-downloads-background-sessions-and-state-machines</loc>
<lastmod>2026-06-10T09:21:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/benchmark-cards-geekbench-of-llms</loc>
<lastmod>2026-06-09T13:41:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/edge-ai-lab-ships-v1</loc>
<lastmod>2026-06-08T10:46:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/edge-lab-shipped-the-iphone-side-of-the-story</loc>
<lastmod>2026-06-02T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-bartowski-experiment-confirming-the-impossible</loc>
<lastmod>2026-04-14T12:03:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-agent-talks</loc>
<lastmod>2026-04-14T12:02:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-moe-bug-nobody-told-me-about</loc>
<lastmod>2026-04-14T12:01:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/from-benchmarks-to</loc>
<lastmod>2026-04-12T12:05:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-subagent-revelation-tiered-routing</loc>
<lastmod>2026-04-12T12:04:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/needle-in-haystack-perfect-retrieval-zero-degradation</loc>
<lastmod>2026-04-11T12:10:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/m4-pro-90-tok-s-and-the-31b-reality-check</loc>
<lastmod>2026-04-11T12:09:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/31b-quality-collapse-the-model-that-broke-its-own-brain</loc>
<lastmod>2026-04-11T12:08:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/unsloth-wins-the-three-way-quant-showdown</loc>
<lastmod>2026-04-11T12:07:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-overnight-pipeline-two-machines-five-experiments-zero-intervention</loc>
<lastmod>2026-04-11T12:06:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-vibes-pass-when-you-stop-building-and-start-feeling</loc>
<lastmod>2026-04-10T12:13:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/show-your-work-or-its-a-nothing-burger</loc>
<lastmod>2026-04-10T12:12:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/376-toks-on-a-gpu-everyone-said-was-dead</loc>
<lastmod>2026-04-10T12:11:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/13-hours-46-minutes-no-human-intervention</loc>
<lastmod>2026-04-09T12:19:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-grading-artifact-that-almost-ruined-everything</loc>
<lastmod>2026-04-09T12:18:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/94-zero-errors-i-told-you-so</loc>
<lastmod>2026-04-09T12:17:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-quantization</loc>
<lastmod>2026-04-09T12:16:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/f16-is-the-ceiling-q8-already-passed-it</loc>
<lastmod>2026-04-09T12:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-inverted-ladder-q4-q8-f16</loc>
<lastmod>2026-04-09T12:14:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/dark-mode-toggle-with-jelly-physics</loc>
<lastmod>2026-04-08T12:23:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/think-mode-the-counterintuitive-results</loc>
<lastmod>2026-04-08T12:22:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/10-million-downloads-and-counting</loc>
<lastmod>2026-04-08T12:21:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/it-wont-run-a-story-about-conventional-wisdom</loc>
<lastmod>2026-04-08T12:20:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/theme-reactive-canvas-without-re-mounting</loc>
<lastmod>2026-04-07T16:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/why-i-benchmark-locally</loc>
<lastmod>2026-04-07T12:24:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/the-orchestration-problem</loc>
<lastmod>2026-04-06T12:25:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/float32array-and-60fps-killing-the-jank</loc>
<lastmod>2026-04-04T11:15:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/point-cloud-on-a-sphere-first-render</loc>
<lastmod>2026-04-02T14:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/bridge-reverse-engineered-ide</loc>
<lastmod>2026-03-27T15:23:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/56-messages-ai-cant-reload</loc>
<lastmod>2026-03-25T20:44:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/chrome-extension-talks-to-ide</loc>
<lastmod>2026-03-25T17:45:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/x-dash-docker-colima</loc>
<lastmod>2026-02-15T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/x-dash-waf-circuit-breaker</loc>
<lastmod>2026-01-12T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/x-dash-graphql-reverse</loc>
<lastmod>2025-12-15T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/x-dash-first-harvester</loc>
<lastmod>2025-11-24T12:00:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/great-circle-arcs-and-drag-momentum</loc>
<lastmod>2025-11-12T10:30:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/back-face-culling-kills-the-clip-artifacts</loc>
<lastmod>2025-11-05T14:40:00.000Z</lastmod>
</url>
<url>
<loc>https://andrewvoirol.com/log/interpolating-between-two-d3-projections</loc>
<lastmod>2025-10-25T19:20:00.000Z</lastmod>
</url>
</urlset>
