The Abati Blog

Insights & Engineering

Practical writing on software development, WhatsApp Business API, AI tooling, and the products we build at Abati Technology.

Product

Offline-First POS: Designing Retail Software That Survives Bad Connectivity

Learn how to design an offline-first POS for small businesses, with safe sync, conflict handling, payments, and operational recovery.

July 27, 2026 · 3 min read
WhatsApp API

Design WhatsApp Automation for the Moment a Human Takes Over

Build WhatsApp automation that knows when to stop, preserves context, and hands complex customer conversations to the right person.

July 23, 2026 · 3 min read
Engineering

The Smallest Useful CI Pipeline for a Small Engineering Team

A practical CI blueprint for small teams: fast checks, dependable tests, and production safeguards without building a maintenance burden.

July 20, 2026 · 3 min read
Engineering

The Transactional Outbox Pattern: Stop Losing Events Between Systems

Learn how the transactional outbox pattern prevents lost events when an application must update its database and notify another system.

July 16, 2026 · 3 min read
WhatsApp API

Verify Before You Process: Securing WhatsApp Cloud API Webhooks

Learn how to verify WhatsApp webhook signatures, preserve raw request bodies, reject replays, and keep message processing secure.

July 13, 2026 · 3 min read
Payments

Never Store Money as a Float: Representing Currency in Code

Floating-point math quietly corrupts money. Here is how to store, calculate, and round currency correctly using integer minor units.

July 9, 2026 · 3 min read
Developer Tools

How to Write Prompts That Get Better Code From AI

AI coding assistants reward clear communication, not magic words. Here's how context, examples, and constraints get you better code on the first try.

July 6, 2026 · 3 min read
Engineering

Correlation IDs: How to Trace One Request Across Your Whole Stack

When a payment or message goes missing, a correlation ID turns hours of cross-service log guessing into a two-minute search. Here's how to add one.

July 2, 2026 · 3 min read
WhatsApp API

Stop Asking Customers to Type: Use WhatsApp Interactive Messages

Reply buttons and list messages cut friction, reduce errors, and boost conversion on the WhatsApp Business API. Here's how to use them well.

June 29, 2026 · 3 min read
Engineering

Timeouts: The Resilience Setting Almost Everyone Forgets

Most outages begin with a request that never times out. Here's how to set deadlines that stop one slow dependency from taking down your whole system.

June 25, 2026 · 3 min read
Payments

Payment Reconciliation: Why Your Numbers Never Quite Match

A practical guide to payment reconciliation for small teams: why your ledger and your gateway disagree, and how to close the gap without losing your mind.

June 22, 2026 · 3 min read
Engineering

Retries Done Right: Backoff, Jitter, and the Thundering Herd

A naive retry loop can turn a small outage into a full one. Learn how exponential backoff and jitter keep a failing system from getting worse.

June 18, 2026 · 3 min read
Developer Tools

Reviewing AI-Generated Code: A Skill Worth Practicing

AI writes code fast, but shipping it safely is a human skill. A practical review checklist for engineers using Copilot and other AI tools.

June 15, 2026 · 3 min read
Engineering

Feature Flags: Why Deploying Code Shouldn't Mean Releasing It

Feature flags let you ship code to production without exposing it to users, turning risky launches into calm, reversible toggles you control.

June 11, 2026 · 3 min read
Payments

Preventing Double Charges: A Practical Guide to Idempotency

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.

June 8, 2026 · 3 min read
WhatsApp API

Building Reliable WhatsApp Webhooks That Never Drop a Message

Practical patterns for handling WhatsApp Cloud API webhooks reliably: fast acknowledgment, idempotency, retries, and ordering for production systems.

June 5, 2026 · 3 min read
WhatsApp API

WhatsApp Quality Rating and Messaging Limits: Protect Your Number

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.

June 5, 2026 · 3 min read
Product

QRIS Explained: How One QR Code Unified Indonesian Payments

QRIS lets any customer pay any merchant with a single QR standard. Here's how it works and why it matters for small businesses.

June 2, 2026 · 2 min read
Product

Retro Gaming and the Quiet Work of Preservation

Classic games from the GBA, DS, and PSP eras are slipping out of reach. Here's why emulation and accessibility matter.

June 1, 2026 · 2 min read
Engineering

Building Software That Ships: Lessons From a Small Team

Shipping consistently isn't about working harder. It's about ruthlessly cutting scope and shortening the loop between idea and production.

May 30, 2026 · 2 min read
Engineering

Why WhatsApp Notifications Outperform Email — and When They Don't

WhatsApp open rates dwarf email. But channel choice is about more than open rates. Here's a clear-eyed comparison.

May 28, 2026 · 2 min read
Developer Tools

How Students Can Get the Most Out of GitHub Copilot

Copilot is more than autocomplete. Here's how students and early-career developers can use it to learn faster, not just type less.

May 26, 2026 · 2 min read
WhatsApp API

Template vs. Session Messages: Getting WhatsApp Pricing Right

WhatsApp billing is built around conversation categories and the 24-hour window. Here's how to model your costs before you scale.

May 23, 2026 · 2 min read
WhatsApp API

A Practical Guide to the WhatsApp Business API in 2026

What the WhatsApp Business API actually is, how template and session messaging differ, and how to roll it out without getting your number flagged.

May 20, 2026 · 2 min read