<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>jguillaumesio</title><description>Full-stack contractor for the hard parts of SaaS: payments/billing and AI agents in production. Remote, UTC+1</description><link>https://jguillaumesio.com/</link><item><title>AI-powered git branch diff summary: give your AI agent real context</title><link>https://jguillaumesio.com/blog/ai-branch-diff-summary/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/ai-branch-diff-summary/</guid><description>How to generate a smart summary of branch diffs. Highlights deleted files and renames to give AI agents the context they need to review, refactor, or document code.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><category>devtools</category><category>ai</category></item><item><title>AI-generated infrastructure is a maintenance nightmare</title><link>https://jguillaumesio.com/blog/ai-generated-infrastructure-problems/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/ai-generated-infrastructure-problems/</guid><description>I asked AI to generate Terraform for a standard AWS setup. It produced 2,400 lines that worked perfectly. Here&apos;s why I&apos;d never deploy it to production.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><category>devops</category><category>architecture</category><category>ai</category></item><item><title>Architecture is more important than clean code</title><link>https://jguillaumesio.com/blog/architecture-more-important-than-code/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/architecture-more-important-than-code/</guid><description>I spent 2 weeks making my serverless functions clean. The architecture was wrong. I rewrote everything as a single Express server and it was simpler.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate><category>architecture</category><category>devops</category></item><item><title>Checking your AI&apos;s context window: what fits and what doesn&apos;t</title><link>https://jguillaumesio.com/blog/checking-ai-context-window/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/checking-ai-context-window/</guid><description>How to verify the actual context window of an LLM, understand external vs internal context, and avoid the silent truncation problem.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><category>ai</category></item><item><title>Debugging is more important than features</title><link>https://jguillaumesio.com/blog/debugging-infrastructure/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/debugging-infrastructure/</guid><description>My blog returned 404 on every page at 2 AM. I had zero visibility into why. Here is the debugging infrastructure I wish I had set up from day one.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><category>devops</category><category>architecture</category></item><item><title>Why the perfect code is less maintainable</title><link>https://jguillaumesio.com/blog/perfect-code-less-maintainable/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/perfect-code-less-maintainable/</guid><description>I spent 3 hours reviewing a 200-line PR that handled every edge case. A 40-line version with a TODO would have been better. Here&apos;s why perfect code slows you down.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate><category>architecture</category><category>webdev</category></item><item><title>Social media link previews in React: server-side user-agent detection</title><link>https://jguillaumesio.com/blog/social-media-previews-react/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/social-media-previews-react/</guid><description>How to handle Open Graph meta tags for LinkedIn, Google, and Discord previews in a React SPA using server-side user-agent detection with nginx or .htaccess.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate><category>webdev</category><category>react</category></item><item><title>I was paying Stripe to process 3 payments a month. Then I checked the alternatives.</title><link>https://jguillaumesio.com/blog/stripe-alternatives-eu/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/stripe-alternatives-eu/</guid><description>Stripe is the default answer for online payments. But if you only need one payment method, you&apos;re paying for features you&apos;ll never use. Here&apos;s what I found when I actually compared providers.</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><category>webdev</category><category>architecture</category></item><item><title>Testing Lambda and EventBridge locally without deploying</title><link>https://jguillaumesio.com/blog/testing-lambda-eventbridge-locally/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/testing-lambda-eventbridge-locally/</guid><description>How to test AWS Lambda functions and EventBridge rules locally using SAM, LocalStack, and docker-compose. No cloud deployment needed.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>devops</category><category>aws</category></item><item><title>Token economy: how I stopped wasting context windows with LLM memory</title><link>https://jguillaumesio.com/blog/token-economy-loom-memory/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/token-economy-loom-memory/</guid><description>How loom-memory turns a Git repository into a persistent knowledge base for AI agents. Reduce token spend by giving models durable context instead of cold reads.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><category>ai</category><category>devtools</category></item><item><title>Welcome</title><link>https://jguillaumesio.com/blog/welcome/</link><guid isPermaLink="true">https://jguillaumesio.com/blog/welcome/</guid><description>Hi, I&apos;m jguillaumesio, a full-stack contractor based in Paris, working 100% remote. I help SaaS teams ship the parts they can&apos;t afford to get wrong: payments/billing integration and AI agents in production. This blog is where I write about what I ship.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate><category>intro</category></item></channel></rss>