Skip to main content

writing

stuff or split

Every SaaS hits the same fork when growth pressure meets complexity. Most companies pick the wrong side.

Every SaaS company hits the same fork when growth pressure meets product complexity.

The question on the table is always some version of: the company is growing, the board wants expansion revenue, a new module is in the roadmap. Does it live inside the product everyone already uses, or does it ship as its own thing?

Stuff, or split.

Most companies stuff. And most of them are wrong to.

Stuffing looks like one SKU, one login, one growing product. HubSpot did it — seven Hubs stapled into the shell that started as a CRM. Notion did it — docs became databases became wikis became AI assistants, all inside the sidebar. Photoshop has done it for thirty years, absorbing vector, 3D, video, and generative AI into the same app. Slack started stuffing when it added huddles, canvas, and lists. Each addition was coherent on its own. None of them was edited against the whole.

Splitting looks like a portfolio of separate products with separate mental models. Figma has design, FigJam for whiteboarding, Dev Mode for handoff, Slides for presentations. Atlassian has Jira, Confluence, and Bitbucket — overlapping use cases, distinct tools. Microsoft has Word, Excel, PowerPoint, and Outlook, each still unmistakably its own application thirty years on. Adobe stuffs inside each app but splits at the suite level.

The pattern across split portfolios: each product has a clear mental model. Each one can be adopted standalone. The cross-sell is an invitation to try the next coherent thing, not a demand to learn a new mental model inside a tool the customer already uses.

Most companies stuff because the metrics reward it in the short term. Attach rate goes up. Seats per account go up. Average contract value goes up. Expansion revenue has a clean story for the board.

The bill comes due later, and it's paid by someone who doesn't sit in the boardroom.

Complexity is conserved. When a module gets stuffed into an existing product, the complexity doesn't vanish — it migrates onto the user's cognitive load. Onboarding gets longer. Cross-team alignment gets harder. New hires take months instead of days to become useful. NPS sags, and the product org can't point to a single cause because there isn't one — there are forty, each one a module that nobody edited.

By the time the clarity tax shows up in hard metrics — retention, expansion per seat, time-to-value — it's already years of debt.

Splitting is the conviction bet. The wager is that mental-model clarity compounds faster than attach-rate math.

Figma made that bet when it shipped FigJam as a separate product instead of a "whiteboard mode" inside Figma. Atlassian made it decades ago and still holds the line — Jira and Confluence are the same company, unmistakably different products. Microsoft has been running the split playbook since the 1980s and owns productivity software at planetary scale.

Split products compose. Stuffed products collide.

The cross-sell in a split portfolio is "try the next product, which already works the way you expect." The cross-sell in a stuffed product is "learn a new mental model inside the app you already use." One of those is an invitation. The other is a tax dressed up as a feature.

The real product decision in a growing SaaS isn't "what do we build next?" The roadmap answers that one every quarter.

The harder question, the one most leadership teams skip, is: "should the next thing live inside this product, or next to it?"

That question needs a seat at the table. It needs someone senior whose job is to protect the mental model — to say no to stuffing, to make the case for a new SKU when the finance org would rather see a new module, to argue for clarity against the gravity of expansion revenue.

Most companies don't have that seat. The ones that do are the ones whose products still feel legible ten years in.

Editing is a leadership act.

So is refusing to stuff.

Which bet is your company making?

— Chris clarai.io