Design the experience. Let the engine handle the transition.
Experience Engine is a framework-agnostic runtime for multi-dimensional UI experience transitions. Culture, theme and motion are chosen independently and change together through one call.
Good morning, Maya
Sales are up this week. Three orders are waiting for your review.
- Revenue$48,25012.4%vs last week
- Orders1,2848.1%vs last week
- Conversion3.6%0.4%vs last week
- Average order$962.1%vs last week
Revenue
Last 12 weeksPress the button. The application above is live; the engine coordinates language, direction, type, theme, resources and motion as one transition.
One application, three independent dimensions
Compose culture, theme and motion independently. The application sends one request and does not orchestrate the resources, components, direction and transitions that follow from it.
Culture
Locale, reading direction, typography, number and date formats, and the copy itself. Arabic is a different layout, not a translated heading.
Theme
Semantic tokens for surface, text, radius, density and shadow, plus which components take a variant or are replaced outright.
Motion
How a committed change is shown: instantly, as a view transition, or reduced. It never depends on which culture or theme is active.
What happens between the request and the screen
The Experience Transition Protocol runs the same six steps for every change, whether one dimension moves or all three.
Experience state
One committed, immutable snapshot of the resolved culture, theme and motion.
Experience transition
A complete target request replaces scattered setters.
Typed delta
The engine works out exactly which keys differ between the two snapshots.
Dependency closure
Only what depends on those keys is prepared. Everything else is left alone.
Heterogeneous preparation
Translations, fonts, assets and code load together before anything is shown.
Guarded commit
The new experience becomes visible in one step, and only if it is still the latest request.
See it take a transition apart
The Studio shows the delta, the dependency closure, every resource and the commit for each change you make. Personalized SSR resolves the first experience on the server from a cookie, then hands it to the same runtime.
- StudioCompose an experience and inspect the transition
- PlaygroundFire rapid requests and break a transition on purpose
- Personalized SSRSame URL, different first render per visitor
- Case studyThe problem, the model and one transition, in five minutes
- ArchitectureLayers, the eight protocol stages, component adaptation
- EvidenceWhat was tested, what is scoped, what is not claimed
- GitHubSource, documentation and examples