<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
  <title>Abati Technology Blog</title>
  <link>https://abati.co.id/blog/</link>
  <description>Insights on software, WhatsApp Business API, and technology.</description>
  <language>en-us</language>
  <item>
    <title>Feature Flags: Why Deploying Code Shouldn't Mean Releasing It</title>
    <link>https://abati.co.id/blog/feature-flags-decouple-deploy-from-release</link>
    <guid>https://abati.co.id/blog/feature-flags-decouple-deploy-from-release</guid>
    <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
    <description>Feature flags let you ship code to production without exposing it to users, turning risky launches into calm, reversible toggles you control.</description>
  </item>
  <item>
    <title>Preventing Double Charges: A Practical Guide to Idempotency</title>
    <link>https://abati.co.id/blog/idempotency-keys-payment-systems</link>
    <guid>https://abati.co.id/blog/idempotency-keys-payment-systems</guid>
    <pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate>
    <description>A timed-out payment request gets retried and your customer is charged twice. Idempotency keys are the simple pattern that prevents it. Here's how.</description>
  </item>
  <item>
    <title>Building Reliable WhatsApp Webhooks That Never Drop a Message</title>
    <link>https://abati.co.id/blog/reliable-whatsapp-webhooks</link>
    <guid>https://abati.co.id/blog/reliable-whatsapp-webhooks</guid>
    <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
    <description>Practical patterns for handling WhatsApp Cloud API webhooks reliably: fast acknowledgment, idempotency, retries, and ordering for production systems.</description>
  </item>
  <item>
    <title>WhatsApp Quality Rating and Messaging Limits: Protect Your Number</title>
    <link>https://abati.co.id/blog/whatsapp-quality-rating-messaging-limits</link>
    <guid>https://abati.co.id/blog/whatsapp-quality-rating-messaging-limits</guid>
    <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
    <description>Your WhatsApp Business number has a quality rating that controls how many people you can reach. Here is how it works and how to keep it green.</description>
  </item>
  <item>
    <title>QRIS Explained: How One QR Code Unified Indonesian Payments</title>
    <link>https://abati.co.id/blog/qris-payments-explained</link>
    <guid>https://abati.co.id/blog/qris-payments-explained</guid>
    <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
    <description>QRIS lets any customer pay any merchant with a single QR standard. Here's how it works and why it matters for small businesses.</description>
  </item>
  <item>
    <title>Retro Gaming and the Quiet Work of Preservation</title>
    <link>https://abati.co.id/blog/retro-gaming-preservation</link>
    <guid>https://abati.co.id/blog/retro-gaming-preservation</guid>
    <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
    <description>Classic games from the GBA, DS, and PSP eras are slipping out of reach. Here's why emulation and accessibility matter.</description>
  </item>
  <item>
    <title>Building Software That Ships: Lessons From a Small Team</title>
    <link>https://abati.co.id/blog/building-software-that-ships</link>
    <guid>https://abati.co.id/blog/building-software-that-ships</guid>
    <pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate>
    <description>Shipping consistently isn't about working harder. It's about ruthlessly cutting scope and shortening the loop between idea and production.</description>
  </item>
  <item>
    <title>Why WhatsApp Notifications Outperform Email — and When They Don't</title>
    <link>https://abati.co.id/blog/why-whatsapp-beats-email-notifications</link>
    <guid>https://abati.co.id/blog/why-whatsapp-beats-email-notifications</guid>
    <pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate>
    <description>WhatsApp open rates dwarf email. But channel choice is about more than open rates. Here's a clear-eyed comparison.</description>
  </item>
  <item>
    <title>How Students Can Get the Most Out of GitHub Copilot</title>
    <link>https://abati.co.id/blog/github-copilot-for-students</link>
    <guid>https://abati.co.id/blog/github-copilot-for-students</guid>
    <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
    <description>Copilot is more than autocomplete. Here's how students and early-career developers can use it to learn faster, not just type less.</description>
  </item>
  <item>
    <title>Template vs. Session Messages: Getting WhatsApp Pricing Right</title>
    <link>https://abati.co.id/blog/template-vs-session-messages</link>
    <guid>https://abati.co.id/blog/template-vs-session-messages</guid>
    <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
    <description>WhatsApp billing is built around conversation categories and the 24-hour window. Here's how to model your costs before you scale.</description>
  </item>
  <item>
    <title>A Practical Guide to the WhatsApp Business API in 2026</title>
    <link>https://abati.co.id/blog/whatsapp-business-api-guide-2026</link>
    <guid>https://abati.co.id/blog/whatsapp-business-api-guide-2026</guid>
    <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
    <description>What the WhatsApp Business API actually is, how template and session messaging differ, and how to roll it out without getting your number flagged.</description>
  </item>
</channel></rss>