The User Journey Graph (UJG) specification family defines a vocabulary and data model for describing user journeys as automata-like graphs. It separates design-time journey definitions from runtime journey executions and observations to support both experience design and measurement.
The UJG Community Group is a forum for discussing the User Journey Graph specification and related topics. It is open to all interested parties and is a place for discussion and collaboration on the specification and related topics. Join the Community Group to get involved in the specification development process.
This is the monorepo for the UJG specification and its associated documentation tools.
- Editor's Draft (ED): The current working draft of the specification.
- Governance: How decisions are made and how the project is managed.
- Contributing: Guidelines for contributing code, examples, or spec text.
specs/: Contains the source markdown files for the specifications.apps/web/: The Astro-based documentation website that renders the specifications.
To run the documentation site locally:
-
Install dependencies:
pnpm install
-
Run the development server:
pnpm dev
This will start the website at
http://localhost:4321(or similar).
The specification is modularized as follows:
Overview
(no normative deps)
Serialization
├─ Designed
│ ├─ Structure (adds organization metadata over Designed ids)
│ └─ Runtime (uses Designed ids; follows Serialization timestamps/refs)
│ └─ Observed (aggregates Runtime; optionally aligns to Designed)
│ └─ Metrics (metric keys/units used in Observed artifacts)
└─ Profiles & Extensibility (uses Serialization extension mechanics; defines interoperability profiles)