Platform vs Horizontal vs Vertical¶
This document explains the separation of concerns that keeps the ecosystem coherent: a thin set of reusable platform capabilities, a layer of horizontal business applications, and industry verticals that compose both. It is written for architects and product leads deciding where a new capability belongs.
The Three Layers¶
flowchart TB
V[Verticals - Banking, Insurance, Healthcare, Logistics ...]
H[Horizontal SaaS - CRM, Sales, Marketing, Commerce, Finance Ops]
P[Core Platform - Tenant, Identity, Config, Billing, Notifications, Audit, Data/AI, API, Infra, Factory]
V --> H
V --> P
H --> P
Core Platform (categories 1-10)¶
Reusable capabilities every product needs. Built once, consumed by all. Examples: identity, configuration, billing, notifications, audit, data/AI, API/integration, infrastructure, developer factory. These are the highest-priority investments (Tier 0-1).
Horizontal SaaS (categories 11-14, 23)¶
Cross-industry business applications - CRM, sales/RevOps, marketing, commerce, finance operations. They consume platform capabilities and are themselves reused by verticals.
Verticals (categories 15-22, 24-26)¶
Industry-specific solutions. The key rule: verticals compose, they do not re-implement. A banking or insurance product reuses identity, billing, notifications, audit, documents, and workflow from the platform, and CRM/support from horizontals, adding only the genuinely industry-specific contexts (e.g., underwriting, claims, KYC).
Decision Rule: Where Does A Capability Belong?¶
| Question | If yes |
|---|---|
| Will 3+ products across industries need it? | Core platform |
| Is it a business app reused across industries? | Horizontal SaaS |
| Is it specific to one industry's domain language and regulation? | Vertical |
| Is it just a packaging of existing capabilities for an industry? | Solution pack |
Why This Matters¶
- Prevents re-implementing identity/billing/notifications inside every vertical.
- Keeps the count of independently deployed services small (see ADR-0011).
- Makes verticals fast to assemble once the platform exists (see ADR-0013).