<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ipswitch: field notes</title>
    <link>https://ipswitch.co.ke/writing/</link>
    <atom:link href="https://ipswitch.co.ke/feed.xml" rel="self" type="application/rss+xml" />
    <description>Field notes from live deployments: what broke, why, and the fix. By Ipswitch, software and DevOps, Nairobi.</description>
    <language>en</language>
    <lastBuildDate>Fri, 06 Nov 2026 09:00:00 GMT</lastBuildDate>
    <item>
      <title>How this site is built</title>
      <link>https://ipswitch.co.ke/writing/how-this-site-is-built/</link>
      <guid isPermaLink="true">https://ipswitch.co.ke/writing/how-this-site-is-built/</guid>
      <pubDate>Fri, 06 Nov 2026 09:00:00 GMT</pubDate>
      <description>A byte of levers in a static export, a splash gate in the page head, and three things that broke on the way.</description>
    </item>
    <item>
      <title>Fitting a Next.js app into a 500 MB cPanel quota</title>
      <link>https://ipswitch.co.ke/writing/fitting-nextjs-in-500mb/</link>
      <guid isPermaLink="true">https://ipswitch.co.ke/writing/fitting-nextjs-in-500mb/</guid>
      <pubDate>Fri, 06 Nov 2026 09:00:00 GMT</pubDate>
      <description>Build off the server, ship only what runs, and keep the data where a redeploy cannot touch it.</description>
    </item>
    <item>
      <title>Alerts without Firebase: SMS with a budget</title>
      <link>https://ipswitch.co.ke/writing/alerts-by-sms-no-firebase/</link>
      <guid isPermaLink="true">https://ipswitch.co.ke/writing/alerts-by-sms-no-firebase/</guid>
      <pubDate>Fri, 06 Nov 2026 09:00:00 GMT</pubDate>
      <description>How RentPin reaches a closed app with capped text messages instead of push notifications.</description>
    </item>
    <item>
      <title>The cPanel Python selector leaves your app broken in two silent ways</title>
      <link>https://ipswitch.co.ke/writing/cpanel-python-selector-blank-500/</link>
      <guid isPermaLink="true">https://ipswitch.co.ke/writing/cpanel-python-selector-blank-500/</guid>
      <pubDate>Fri, 06 Nov 2026 09:00:00 GMT</pubDate>
      <description>Both produce the same blank 500, and neither is in the docs. Here is how to tell them apart and fix them.</description>
    </item>
  </channel>
</rss>
