Engineering/6 min

When a platform is just a product

Calling it a platform does not make the second team appear.

Julian Voss/Engineering/November 14, 2025

“Platform” is a flattering word. It suggests other people will arrive with their own work and find a place for it. That only happens if the seams are real: a contract, a permission model, and a way to fail that does not require the original team in the room.

A product can be enough

There is no shame in a product that one team operates well. Shame is promising a platform so the roadmap looks larger, then spending a year on an abstraction nobody asked to use.

If the second team still needs a call, you have a product with extra nouns.

The smallest honest contract

type Contract = {
  input: string;
  output: string;
  whoMayCall: string;
  whatHappensWhenItFails: string;
};

function isPlatform(surface: { contract: Contract | null }) {
  return surface.contract !== null;
}
A platform starts as a promise you can keep.

Write the contract first. If you cannot, you are not ready to invite a second team. Build the product. Name it accurately. The word can wait.

ShareLinkedInX