<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Maxime Perniola — build journal</title><description>Build notes from an engineer who is building things himself again, with AI tools. What works, what breaks, and seven projects online.</description><link>https://maxime.perniola.fr/</link><language>en</language><item><title>#011 — Four databases, ten countries, and none of them agree</title><link>https://maxime.perniola.fr/en/journal/011-four-databases-ten-countries/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/011-four-databases-ten-countries/</guid><description>A game rated 91 on one side, 78 on the other, missing from the catalogue on the third source. What I learned trying to merge data that does not want to be merged.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><category>Catalogue PS Plus</category></item><item><title>#010 — The button that only failed on Samsung</title><link>https://maxime.perniola.fr/en/journal/010-samsung-only-button/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/010-samsung-only-button/</guid><description>Three days to understand why a buzzer refused to fire on a Galaxy A33. The answer was neither in the code nor in the documentation.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate><category>Quiz Buzzer</category></item><item><title>#009 — Migrating a WordPress site to Astro over a weekend</title><link>https://maxime.perniola.fr/en/journal/009-wordpress-to-astro/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/009-wordpress-to-astro/</guid><description>Ten years of content, a club with a hundred members, no maintenance window possible. What went well, and the one thing I would do differently.</description><pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate><category>Taekwondo Meylan</category></item><item><title>#008 — Estimating a project when a tool writes the code in thirty seconds</title><link>https://maxime.perniola.fr/en/journal/008-estimating-a-project/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/008-estimating-a-project/</guid><description>Execution speed has changed. Estimation has not. Why the two are not linked, and what it means when you commit to a fixed price.</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>Métier</category></item><item><title>#007 — Five months without a line</title><link>https://maxime.perniola.fr/en/journal/007-five-months-without-a-line/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/007-five-months-without-a-line/</guid><description>Between 26 February and 20 August, not one commit. Two new jobs, and a pause I had not planned. Why I am coming back, and what changed while I was not looking.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><category>Métier</category></item><item><title>#006 — Two projects that died in February</title><link>https://maxime.perniola.fr/en/journal/006-two-projects-that-died-in-february/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/006-two-projects-that-died-in-february/</guid><description>A Telegram bot for selling on Vinted, an amateur esports tournament platform. Two repositories, hundreds of pages of documentation, zero useful lines of code. What they taught me about templates.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate><category>Métier</category></item><item><title>#005 — Seventy tickets in a weekend</title><link>https://maxime.perniola.fr/en/journal/005-seventy-tickets-in-a-weekend/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/005-seventy-tickets-in-a-weekend/</guid><description>Voice notes dictated while playing, sixty screenshots, and a ticket file the tool can work through without me. The method that took Scopa Fortuna from playable to publishable.</description><pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate><category>Scopa Fortuna</category></item><item><title>#004 — The plan said nineteen weeks</title><link>https://maxime.perniola.fr/en/journal/004-the-plan-said-nineteen-weeks/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/004-the-plan-said-nineteen-weeks/</guid><description>On day one the tool produced a nineteen-sprint plan for a card game. The game was published six days later. What a plan is worth when building costs nothing.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate><category>Scopa Fortuna</category></item><item><title>#003 — The newline in the environment variable</title><link>https://maxime.perniola.fr/en/journal/003-newline-in-the-environment-variable/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/003-newline-in-the-environment-variable/</guid><description>Confirmation emails never arrived in production. Three stacked causes, including an invisible character stuck to the end of a URL.</description><pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate><category>Quiz Buzzer</category></item><item><title>#002 — Connected, but nothing arrives</title><link>https://maxime.perniola.fr/en/journal/002-connected-but-nothing-arrives/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/002-connected-but-nothing-arrives/</guid><description>The WebSocket said &quot;connected&quot;. The server received nothing. One missing parameter in a constructor, and two days looking everywhere else.</description><pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate><category>Quiz Buzzer</category></item><item><title>#001 — A buzzer in one day, and three weeks to finish it</title><link>https://maxime.perniola.fr/en/journal/001-a-buzzer-in-one-day/</link><guid isPermaLink="true">https://maxime.perniola.fr/en/journal/001-a-buzzer-in-one-day/</guid><description>On 28 January the app worked. On 17 February it actually worked. What happened in between is everything I had forgotten about what &quot;done&quot; means.</description><pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate><category>Quiz Buzzer</category></item></channel></rss>