From zero to the platform.
When I joined Square in 2016, developers weren't a business — a scattering of endpoints, no team whose job it was. I was chosen to build the public developer business into a dedicated function. By the time I ran product for it, the platform's APIs processed $17B+ a year in payment volume, and Block was telling the SEC (Q3 2022) that nearly half of mid-market volume came from sellers connected to it.
- Zero-to-one inside a working company. Building a platform business next to a successful product business — winning the argument, the headcount, and the API surface one decomposition at a time.
- Judgment about sequence. Payments first, then the primitives around it, then partners and a marketplace — each layer funded by the proof the last one generated.
- A result Block filed with the SEC. The scale claims here are either public disclosures or labeled plainly as my own account — and every volume number says GPV, because that's what it is.
The problem
Square in 2016 was a seller company to its core: hardware, point of sale, and payments for businesses that walked in the door and set themselves up. Developers existed at the edge — some early endpoints, a few integrations — but nobody owned them, nobody priced them, and no roadmap treated them as customers. Meanwhile the sellers Square most wanted to win, the larger ones, don't adopt software the way a food truck does. They arrive with systems: a booking tool, an inventory system, an accounting stack, a custom app. If those systems can't talk to Square, the seller can't move.
That was the actual argument for the platform — not "developers are a trend" but Square's move upmarket was gated on APIs. Every mid-market deal died on the same question: can we integrate? I was chosen to build the public developer business into a dedicated function and make the answer yes.
The insight
The tempting way to build a developer platform is to ship a grab-bag of endpoints and call it one. The insight that shaped ours: a platform is a decomposition of the company — every capability Square used internally, re-expressed as a public primitive with its own contract, its own versioning, and eventually its own team. Payments first, because payments were the reason anyone wanted us. Then the primitives around a payment: cards on file, bank accounts, disputes, orders, tokenization, seller onboarding and underwriting.
Each decomposition had to survive three fights — with security and compliance over what could be public at all, with internal owners over whether the public contract would constrain their roadmap, and with ourselves over what a clean API for the next decade actually looked like. Several of the primitives we cut out of the monolith became standing teams that exist today. The launches, in public:
The same discipline carried acquisitions. When Square bought Weebly for $365M, the platform work that brought Weebly's sellers onto Square's payments rails ran through the onboarding and underwriting APIs we had decomposed — the platform absorbing an acquisition instead of a one-off integration team.
The trade-offs
Three decisions defined the platform's shape, and each one closed a door.
Serve Square sellers, not any seller. The platform's hardest strategic call came out of our most expensive failure — the marketplaces program, where we tried to power other companies' seller bases and hit a structural wall. That story is its own memo. The decision it forced — build for developers who serve Square sellers, and concede the Stripe market — is what let the platform compound instead of fighting a war it couldn't win.
Partners over bespoke deals. Every large seller wanted a custom integration; every custom integration was a team we'd staff forever. We bet on a partner ecosystem instead — self-serve APIs, an App Marketplace, revenue-sharing — so that one integration could serve a thousand sellers. Slower for any single deal, compounding across all of them.
Public contracts, permanently. An API you ship is a promise you keep for a decade. We versioned conservatively and deprecated slowly, which cost us velocity — and which is exactly why partners trusted the platform with their businesses.
The outcome
The public arc, in Square's own numbers: the partner ecosystem grew from fewer than 10 partners to 270+ in the platform's first expansion years; developer 90-day actives grew +80% from 2018 to 2020; and by 2022 Square reported 900K+ active sellers connected to partner integrations, with partner payouts up 150% year over year.
The number I'll defend from my own P&L: the platform's APIs processed $17B+ a year in payment volume (GPV) directly. And the far larger effect was the attached ecosystem — sellers whose businesses ran through partner integrations built on the platform. Block put that one on the record itself:
Block, Inc. — Q3 2022 shareholder letter, SEC-filed"During the third quarter, nearly 50% of GPV from mid-market sellers was generated by sellers connected to our open developer platform…"
Read those two together and the founding argument closes: the move upmarket that was gated on APIs in 2016 was, by 2022, running through them — by Block's own quarterly disclosure. In 2022 I was selected to run product for the whole Developers & Partners business; that era is its own memo.
What I'd do differently
- Decompose identity and permissions earlier. We shipped the money primitives first because they proved value fastest — but auth, identity, and permissions underpin every other API, and retrofitting them cost more than sequencing them early would have.
- Put the platform's economics on paper from year one. The business case lived in strategy docs long before it lived in a P&L, which meant re-arguing the investment every planning cycle. A platform earns patience faster when its unit economics are visible, even when they're small.
- Say the "serve Square sellers" thesis out loud sooner. It took an expensive failure to articulate what the platform was for. The thesis was available years earlier — we just hadn't forced ourselves to write it down.