Web platforms
A platform is not a bigger website. It holds state, it has users who are allowed to do different things, and most of what it costs you happens after launch.
The word covers two very different jobs. A marketing site renders content and its main risk is that nobody reads it. A platform holds state on behalf of people who are relying on it: accounts, permissions, money, records that must still be correct next year. The second kind fails in ways the first cannot, and it fails quietly — a permission check in the wrong place, a background job that silently stops, a migration that half-ran.
A handful of decisions set the ceiling, and all of them are cheap on day one and expensive at month eighteen. Where rendering happens, and therefore what the first paint costs and what search engines see. Where the boundary between your data and your interface sits, because a UI that reaches directly into tables is a UI you cannot change without a migration. How identity and permissions are modelled, because retrofitting roles onto a system that assumed one kind of user touches every screen. Rewrites are usually not caused by bad code; they are caused by those four answers being wrong and unchangeable.
So we build the riskiest slice first, end to end, and put it on a real URL. One genuine path through the product — sign in, do the thing that matters, see it persist — running against real data with the deploy pipeline already in place. It is the fastest way to find out that an assumption was wrong while changing it still costs a day. Breadth comes after, on foundations that have already been under load.
How we work
- A thin vertical slice on a real URL before anything is broadened, so the architecture is tested by use rather than by argument.
- Rendering chosen per route, not per project. A dashboard behind a login and a public catalogue page have opposite requirements.
- Permissions modelled at the data boundary, never only in the interface, because a hidden button is not a permission.
- The deploy pipeline exists before the second feature does. Anything you cannot ship on a Friday, you will not fix on a Monday.
What this includes
Pick what you need and send it over.
Questions
- Can you take over a codebase somebody else started?
- Usually, and the first piece of work is a read rather than a rewrite: what the system actually does, where its state lives, and which parts are load-bearing. A rewrite proposed before that reading is a guess, and it is almost always the more expensive guess.
- How long does a web platform take?
- It depends almost entirely on how many distinct kinds of user there are and how much of the work is integrating with systems you do not control. Tell us those two things and you will get a real answer rather than a range wide enough to be useless.