2
4 Comments

Why we built WhatsApp into our social API (and what was wrong with everything else)

We didn't plan to build a WhatsApp API.

We built Zernio to solve a different problem: developers who needed to ship social features across Instagram, TikTok, LinkedIn, X, and other platforms were spending months on OAuth flows, media specs, and rate-limit quirks that had nothing to do with their actual product.

We saw the opportunity and went for it. Six months later we'd hit $1M ARR.

What got us there wasn't a roadmap, it was recording every piece of feedback and shipping fast in response. Feature by feature, platform by platform, the social API layer got sharper.

And then the same request kept coming up. WhatsApp.

Not "can you send a message." The whole thing: numbers, two-way messaging, broadcasts, in-chat forms, voice calls, AI chatbots, group chats. Over 5 million businesses globally use the WhatsApp Business API for serious automation, and the developers building those products needed real infrastructure.

A few months ago we decided to give the upgrade to our WhatsApp API integration. We looked at what existed and didn't love any of it.

WhatsApp has over 3 billion users and open rates that make email look broken. You would expect developers to be building products on it constantly. Most aren't. And it is not because the use cases aren't there, it is because the integration experience is genuinely painful, and not just at the start.

Meta's webhook system fires events for everything: message delivered, message read, message failed, conversation opened, session changed. Each event carries data you actually want, but turning that raw stream into something useful means building your own parsing and observability layer from scratch. Every team that integrates WhatsApp ends up rebuilding the same tooling independently.

On top of that, getting to production on the official API means clearing several steps in sequence: business verification, WhatsApp Business Account registration, message template approval, and webhook setup with token refresh logic.

There is also one that catches developers off guard. You need a Facebook account tied to a Meta Business Manager to provision a number and get templates approved. People discover this mid-setup, after they have already started building. None of these steps is a showstopper on its own. Together they are several weeks to months of work before you write a single line of your actual product. And they are not one-time, when Meta changes something, someone on your team owns the update.

Then there is the market. The BSPs (official Meta channel partners) give you API access but take a margin on every message. You pay Meta's rate plus their fee, permanently. At volume that compounds into a meaningful cost for access you should have directly.

The raw Meta API avoids the middleman but puts all of the setup and maintenance on your team forever.

So we built it ourselves. Not because WhatsApp was on our roadmap. Because we'd spent years managing the social API layer, Meta’s included, and we knew what "built properly" looked like.

We integrated an entire infrastructure that starts with connecting a WhatsApp Business number that you can buy directly in Zernio across 53 countries, or bring your own. And once you have it verified you get the entire WhatsApp Business API behind it. Messaging and broadcasts. Group chats. Webhooks. In-chat forms for booking and lead capture. All on the official WhatsApp Business Platform, which means your numbers don't get banned and you get every feature Meta ships.

Built for developers and the agents they build: REST API, 8 SDKs, CLI, and a hosted MCP server that AI agents can act through directly.

Everything in that setup list: business verification, WABA registration, the Facebook account requirement, template approval, webhook verification, token refresh, is handled by Zernio.

The pricing was a decision we felt strongly about. Usage is zero markup. You pay exactly what Meta charges per message, per conversation category, per country. We do not add to it. What the Zernio monthly subscription covers is everything else: the API and SDKs, the CLI, the hosted MCP server, the number provisioning (at carrier cost), the WABA setup and maintenance, and the platform integrations that stay current when Meta ships changes. One flat subscription for the infrastructure layer, zero markup on what flows through it.

We had spent years managing the social API layer. We knew what built properly looked like before we started on WhatsApp, because we had already built it for everything else.

The WhatsApp request kept coming from customers because they trusted us to get the infrastructure right and not make them think about the underlying platform. The question we kept getting finally has a proper answer.

posted to Icon for group Building in Public
Building in Public
on June 22, 2026
  1. 1

    The zero markup on message volume is the detail that changes everything here. Most developers don't realize how much BSP margins compound at scale until they're already locked in. Building the infrastructure cost into a flat subscription instead is a cleaner model for anyone doing serious volume.

  2. 1

    The thing that surprised me is that the post starts with WhatsApp and ends up feeling like a story about expectations.

    At some point customers stopped asking whether you could support another platform and started assuming you would.

    That feels like a very different milestone than adding a new integration.

    1. 1

      That's exactly it. WhatsApp wasn't new for us, we had basic support for a while. But once developers saw the rest of the API working reliably, the evaluation was already done. WhatsApp just inherited the trust

      1. 1

        That's the part I'd be most curious about.

        If WhatsApp inherited the trust, then it makes me wonder whether customers are evaluating integrations at all, or whether they're evaluating something broader and the integrations simply happen to be where that confidence becomes visible.

        Those can lead to surprisingly different conclusions about what customers are actually buying.

Trending on Indie Hackers
Priorities for launching a SaaS solo, with no budget User Avatar 167 comments I thought I was building a news visualization tool. Users thought it was a catch-up tool. User Avatar 41 comments I Rejected a $15K Acquisition Offer for My Multi-Agent IDE — Here's the Full Breakdown User Avatar 29 comments I built a tool directory that doesn't pretend every founder has the same needs User Avatar 20 comments 5 Books, Make Smarter User Avatar 10 comments Why founder-led outbound breaks the moment you try to delegate it User Avatar 7 comments