<?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 &amp; Sharp</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, plus new Sharp deals and opportunities.</description>
    <language>en</language>
    <lastBuildDate>Thu, 22 Oct 2026 06:31:44 GMT</lastBuildDate>
    <item>
      <title>[Sharp] LOOP KYC — Get KSh 150</title>
      <link>https://pantane.is-a.dev/sharp/loop-kyc</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/sharp/loop-kyc</guid>
      <pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
      <category>Sharp</category>
      <category>Opportunities</category>
      <description>Register on Loop with my invite code and complete your profile to get KSh 150.</description>
      <content:encoded><![CDATA[<p>New users who successfully register through my invite code and complete their Loop profile receive KSh 150. Because I am the referrer, I receive KSh 200 for each successful referral. Downloading the app alone does not qualify — registration must be completed with a fully finished profile.</p><ol><li>Download the Loop app from the Google Play Store.</li><li>Create/register your Loop account.</li><li>Enter/use my invite code: MARTIN4774</li><li>Complete your profile/KYC requirements.</li><li>Only after your profile is fully completed is the registration considered successful and eligible for the KSh 150 reward.</li></ol>]]></content:encoded>
    </item>
    <item>
      <title>[Sharp] I BUY SOCIAL MEDIA ACCOUNTS — I Buy Accounts</title>
      <link>https://pantane.is-a.dev/sharp/buy-social-accounts</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/sharp/buy-social-accounts</guid>
      <pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
      <category>Sharp</category>
      <category>Opportunities</category>
      <description>Have an old social media account you&apos;re no longer using? I may buy it.</description>
      <content:encoded><![CDATA[<p>I&apos;m buying existing social media accounts. The price isn&apos;t fixed — it depends mainly on followers, account age, engagement, condition and platform. Submit your account&apos;s details below and I&apos;ll review it individually.</p>]]></content:encoded>
    </item>
    <item>
      <title>[Sharp] INTERNATIONAL NUMBERS — Request a Number</title>
      <link>https://pantane.is-a.dev/sharp/international-numbers</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/sharp/international-numbers</guid>
      <pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
      <category>Sharp</category>
      <category>Services</category>
      <description>Request an international phone number from a country of your choice.</description>
      <content:encoded><![CDATA[<p>Choose a country, submit your request, and I&apos;ll process it and get back to you with further instructions. Availability depends on the country and current supply.</p><ol><li>Choose your country from the list.</li><li>Submit your request.</li><li>I process the request.</li><li>You receive further instructions and details.</li></ol>]]></content:encoded>
    </item>
    <item>
      <title>[Sharp] UBER EATS PROMO — Get access to the Uber Eats promo</title>
      <link>https://pantane.is-a.dev/sharp/uber-eats-promo</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/sharp/uber-eats-promo</guid>
      <pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
      <category>Sharp</category>
      <category>Opportunities</category>
      <description>Download Uber Eats, create a genuine account, and see what promotion Uber Eats offers you. Report back once it appears.</description>
      <content:encoded><![CDATA[<p>Download Uber Eats, create a genuine account, and complete any verification Uber Eats requests. Whether a promotion appears for you — and what it&apos;s worth — is entirely determined by Uber Eats and depends on your account, location, and the current promotion period. There&apos;s no guaranteed reward for completing this; it&apos;s about surfacing whichever promo Uber Eats currently offers new users like you, then letting Pantane know once it shows up.</p><ol><li>Download Uber Eats from the official app store.</li><li>Create your Uber Eats account using your genuine details.</li><li>Complete any verification Uber Eats requests.</li><li>Wait for the relevant promotion to appear in your notifications/promotions area.</li><li>Return to Sharp and tap &quot;I&apos;ve Done Uber Eats&quot; to send your confirmation to Pantane.</li></ol>]]></content:encoded>
    </item>
    <item>
      <title>[Sharp] HEIST ATTACK — Get KSh 50</title>
      <link>https://pantane.is-a.dev/sharp/heist-attack</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/sharp/heist-attack</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <category>Sharp</category>
      <category>Rewards</category>
      <description>Get KSh 50 for signing up. Complete the steps and claim your reward.</description>
      <content:encoded><![CDATA[<p>Get KSh 50 after completing the required signup and verification steps, subject to the promotion&apos;s eligibility requirements.</p><ol><li>Download the Absa app from Google Play.</li><li>Sign up.</li><li>Enter referral code: OFC0PEZBQF</li><li>Complete the required KYC verification.</li><li>Open Complete Profile and finish the required information.</li><li>Check the account for the applicable reward.</li><li>Referral participants can qualify for the stated referral reward according to the promotion terms.</li></ol>]]></content:encoded>
    </item>
    <item>
      <title>Shipped a Git-backed admin panel, sponsor links, and a repo rate-limit fix</title>
      <link>https://pantane.is-a.dev/journal/admin-panel-sponsors-and-a-rate-limit-fix</link>
      <guid isPermaLink="true">https://pantane.is-a.dev/journal/admin-panel-sponsors-and-a-rate-limit-fix</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <category>Behind the Scenes</category>
      <description>A lightweight admin form for journal posts, GitHub Sponsors support in the nav, and a fix for repos failing to load on the Projects page.</description>
      <content:encoded><![CDATA[<p>Built a lightweight /admin/journal panel — a password-protected form that reads and writes journal posts straight to this repo via the GitHub API, so no more hand-editing TypeScript to publish a new post.</p><p>Moved journal posts out of journal.ts into a plain journal.json, keeping all the existing frontend logic untouched.</p><p>Reduced the site&apos;s font size site-wide for a tighter, more readable feel.</p><p>Added GitHub Sponsors support — a heart icon in the nav next to GitHub, LinkedIn, and Twitter, plus a native Sponsor button on the repo itself via .github/FUNDING.yml.</p><p>Fixed a bug on the Projects page where repos would intermittently fail to load. Moved the GitHub API call from the browser to the backend with a 10-minute cache, which avoids rate limits and stops a token from ever being exposed client-side.</p>]]></content:encoded>
    </item>
    <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>
