<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pantane Journal</title>
    <link>https://pantane.is-a.dev/journal</link>
    <atom:link href="https://pantane.is-a.dev/rss.xml" rel="self" type="application/rss+xml" />
    <description>Building. Learning. Creating. Sharing. — updates from Pantane on projects, learning, services, and what's shipping.</description>
    <language>en</language>
    <lastBuildDate>Fri, 18 Sep 2026 05:05:11 GMT</lastBuildDate>
    <item>
      <title>Building a new automated contact workflow</title>
      <link>https://pantane.is-a.dev/journal/contactgate-automated-workflow</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/contactgate-automated-workflow</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <category>Projects</category>
      <description>Today I&apos;m working on improving ContactGate&apos;s automated communication flow — cutting down the manual steps between a contact unlock and the follow-up message.</description>
      <content:encoded><![CDATA[<p>Today I&apos;m working on improving ContactGate&apos;s automated communication flow — cutting down the manual steps between a contact unlock and the follow-up message.</p><p>The goal is simple: once a payment clears, the whole handoff — unlocking the contact, notifying both sides, and logging the transaction — should happen without anyone needing to check a dashboard.</p><p>Most of the day went into mapping the event flow and deciding where automation should live versus where a human check still makes sense. Small, unglamorous work, but it&apos;s the kind that makes a product feel reliable.</p>]]></content:encoded>
    </item>
    <item>
      <title>Migrating a church management system to production</title>
      <link>https://pantane.is-a.dev/journal/pcea-kandengwa-production-migration</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/pcea-kandengwa-production-migration</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>Work</category>
      <description>Moving the PCEA Kandengwa church management system from a working prototype to a stable, production-ready full-stack build.</description>
      <content:encoded><![CDATA[<p>Moving the PCEA Kandengwa church management system from a working prototype to a stable, production-ready full-stack build.</p><p>This stage of a project is less exciting than the first build but just as important — hardening the auth flow, tightening database constraints, and making sure the app behaves predictably when real people are using it daily rather than just during testing.</p><p>It&apos;s a good reminder that &apos;done&apos; and &apos;production-ready&apos; are two different milestones.</p>]]></content:encoded>
    </item>
    <item>
      <title>Digging into BLE peripheral mode for AttendBT</title>
      <link>https://pantane.is-a.dev/journal/ble-peripheral-mode-attendbt</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/ble-peripheral-mode-attendbt</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>Learning</category>
      <description>Spent the day deep in Bluetooth Low Energy peripheral mode behavior on mobile — the kind of platform-level detail that only shows up once you actually ship.</description>
      <content:encoded><![CDATA[<p>Spent the day deep in Bluetooth Low Energy peripheral mode behavior on mobile — the kind of platform-level detail that only shows up once you actually ship.</p><p>AttendBT relies on nearby-device detection to mark attendance automatically, which sounds straightforward until you hit the real-world inconsistencies between how different devices advertise and scan for BLE signals.</p><p>Today&apos;s win: a clearer mental model of how to keep detection reliable without draining battery life. Writing it down now so future-me doesn&apos;t have to relearn it.</p>]]></content:encoded>
    </item>
    <item>
      <title>Why I default to Postgres for every new SaaS build</title>
      <link>https://pantane.is-a.dev/journal/why-postgres-by-default</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/why-postgres-by-default</guid>
      <pubDate>Wed, 09 Sep 2026 00:00:00 GMT</pubDate>
      <category>Blog</category>
      <description>A short breakdown of why Postgres has become my default choice for new projects — even the ones that start out simple.</description>
      <content:encoded><![CDATA[<p>A short breakdown of why Postgres has become my default choice for new projects — even the ones that start out simple.</p><p>It&apos;s rarely about needing every advanced feature on day one. It&apos;s about not having to migrate later when a project that started as &apos;just an MVP&apos; turns into something a client depends on.</p><p>Relational integrity, solid JSON support when I need flexibility, and the ecosystem around tools like Supabase make it an easy default rather than a decision I have to keep re-making per project.</p>]]></content:encoded>
    </item>
    <item>
      <title>Now offering M-Pesa &amp; Lipana payment integration</title>
      <link>https://pantane.is-a.dev/journal/mpesa-payment-integration-service</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/mpesa-payment-integration-service</guid>
      <pubDate>Sat, 05 Sep 2026 00:00:00 GMT</pubDate>
      <category>Services</category>
      <description>Formalizing something I already do a lot of: wiring M-Pesa and other payment flows directly into web and mobile apps.</description>
      <content:encoded><![CDATA[<p>Formalizing something I already do a lot of: wiring M-Pesa and other payment flows directly into web and mobile apps.</p><p>If you&apos;re building for the Kenyan market and need STK push, payment confirmation handling, or a paywall-style unlock flow done properly — webhook verification, retries, and all — this is a service I offer directly.</p><p>No invented pricing here — every engagement starts with understanding what you&apos;re building and scoping it from there.</p>]]></content:encoded>
    </item>
    <item>
      <title>Pantane DevTools crossed 26 shipped tools</title>
      <link>https://pantane.is-a.dev/journal/devtools-26-tools-milestone</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/devtools-26-tools-milestone</guid>
      <pubDate>Wed, 02 Sep 2026 00:00:00 GMT</pubDate>
      <category>Achievements</category>
      <description>A small milestone worth noting: Pantane DevTools now has 26 live utilities, each one built to solve a problem I kept running into myself.</description>
      <content:encoded><![CDATA[<p>A small milestone worth noting: Pantane DevTools now has 26 live utilities, each one built to solve a problem I kept running into myself.</p><p>The platform started as a handful of quick converters and has grown into something I reach for regularly in my own workflow — which is the best sign that it&apos;s worth continuing to build on.</p>]]></content:encoded>
    </item>
    <item>
      <title>Pantane Journal is live</title>
      <link>https://pantane.is-a.dev/journal/pantane-journal-is-live</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/pantane-journal-is-live</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Announcements</category>
      <description>Social media is where I distribute what I&apos;m building. This Journal is where I permanently document and archive it.</description>
      <content:encoded><![CDATA[<p>Social media is where I distribute what I&apos;m building. This Journal is where I permanently document and archive it.</p><p>Going forward, this is where you&apos;ll find real updates on projects I&apos;m shipping, things I&apos;m learning, services I offer, and the occasional longer write-up — without it disappearing into a feed after 24 hours.</p><p>Thanks for following along.</p>]]></content:encoded>
    </item>
    <item>
      <title>A look at how I structure a new client build</title>
      <link>https://pantane.is-a.dev/journal/how-i-structure-a-new-client-build</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/how-i-structure-a-new-client-build</guid>
      <pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate>
      <category>Behind the Scenes</category>
      <description>A behind-the-scenes walk-through of the first few steps I take on every new project, before a single line of feature code gets written.</description>
      <content:encoded><![CDATA[<p>A behind-the-scenes walk-through of the first few steps I take on every new project, before a single line of feature code gets written.</p><p>It usually starts with mapping the data model, deciding on auth and access boundaries early, and setting up a deployment pipeline before the UI exists — it saves a lot of rework later.</p><p>It&apos;s not the most visible part of the work, but it&apos;s the part that determines how smoothly everything after it goes.</p>]]></content:encoded>
    </item>
    <item>
      <title>Web development for Kenyan businesses</title>
      <link>https://pantane.is-a.dev/journal/web-development-for-kenyan-businesses</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/web-development-for-kenyan-businesses</guid>
      <pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate>
      <category>Services</category>
      <description>Modern, fast websites and web applications for businesses, organizations, and personal brands — built with the Kenyan market in mind.</description>
      <content:encoded><![CDATA[<p>Modern, fast websites and web applications for businesses, organizations, and personal brands — built with the Kenyan market in mind.</p><p>That includes thinking about local payment methods, slower network conditions, and mobile-first usage from the start rather than as an afterthought.</p><p>If you have an idea for a site or web app and want it built properly, this is one of the core services I offer.</p>]]></content:encoded>
    </item>
    <item>
      <title>Kijani AI: a research assistant for forestry researchers</title>
      <link>https://pantane.is-a.dev/journal/kijani-ai-research-assistant</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/kijani-ai-research-assistant</guid>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <category>Projects</category>
      <description>An early look at Kijani AI — a prototype built to help forestry researchers at KEFRI work through research material faster with an AI assistant.</description>
      <content:encoded><![CDATA[<p>An early look at Kijani AI — a prototype built to help forestry researchers at KEFRI work through research material faster with an AI assistant.</p><p>The frontend is a React/Vite/TypeScript app talking to an Express backend — kept intentionally simple so the focus stays on getting the assistant experience right before adding more surface area.</p><p>Still early days, but it&apos;s a good example of the kind of AI-and-automation work I enjoy building.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
