exoDocs

Platform services

Platform services

EXO's components. Each app picks the ones it needs, so apps skip basic plumbing.

These services are EXO's components. EXO is mission control for launching apps: people build apps on EXO, and each app picks the components it needs. It is modular, and no app uses everything. An app declares its components in project.yaml as a top-level components list (ADR 0013), and EXO Verify Level 1 checks that each declared component is wired. Core components are the ones most apps need; specialty components are the ones only some apps need (overview). A starter kit is a saved set of components that new apps can start from. Each service follows the same pattern: Exo owns the platform relationship, keys, and schema, and apps call one Exo contract. Swapping the platform behind a service is an Exo change, not an app change (tenet 3).

ServiceDimensionDecisionStatusPlatform behind it
Exo KeyIdentityADR 0004Live on stagingConvex Auth v2
EXO VerifyContinuous integrationADR 0005 (on main)Accepted; not builtVitest, Playwright, Railway workers, open-source review engine
Exo AnalyzeAnalyticsADR 0006 (on main)Accepted; plannedPostHog adapter
Exo DeployDeployADR 0007 (on main)Web live; mobile accepted, plannedRailway; Expo; EAS optional
Exo Rank (code: router)AIAI routingEndpoint live; routing builtConvex AI Gateway, Arch-Router; Artificial Analysis TBD; TypeSafe dormant

How they join up

The services are designed to compose into one per-App cost-to-serve record:

  • Exo Key supplies the sign-up step of the Exo Analyze funnel.
  • Exo Rank records every model call in exoAiBrokerJobs.
  • EXO Verify sends its AI review calls through Exo Rank and records its cost per App.
  • Exo Deploy bakes the Exo Analyze SDK and Exo Key native sign-in into the mobile template.
  • Exo Analyze joins visits, sign-ups, payments, and cost to serve into per-App unit economics.

See cost and unit economics for which of these joins exist today.

Source: content/docs/platform/index.mdx

On this page