Experience Notation is a structured language for modelling user journeys, decisions, personas, and interactions in a readable and simulation-ready format. It is designed for LLM prompting, human authoring, and machine parsing. Originally developed as part of the Demoscope.ai platform — a commercial service for synthetic user feedback — it is now available as an open-source specification.
Experience Notation is:
- Readable — Uses indentation and labels to keep files accessible.
- Structured — Validates via both EBNF and JSON Schema.
- Expressive — Captures emotional context, UI interaction, branching.
- Modular — Supports external references and journey composition.
- LLM-compatible — Can be generated, simulated, and adapted through prompts.
Explore the full Glossary for key terms.
Journey: simple-onboarding
Title: Simple Onboarding Journey
Personas:
Persona A: New User
Traits: { tech_savvy=false }
Experience: Curious and slightly anxious
Events:
Event 1: App Launch
Step 1:
User: Persona A
Action: Opens the mobile app
UI-Element: Splash screen
Tag: entry
Event 2: Sign-Up
Step 1:
User: Persona A
Action: Enters email and password
UI-Element: Registration form
Step 2:
User: Persona A
Action: Taps "Create Account"
UI-Element: Call-to-action button
Tag: confirmation
- Full documentation at: https://experience-notation.com
- Getting started: Getting Started Guide
- Browse examples:
examples/
- Learn to validate: Validation Guide
- Use with LLMs: AI Integration
Experience Notation powers Demoscope.ai, a commercial platform for synthetic user feedback and behavioural simulation. .expn
files are used to structure multi-step journeys and guide persona interactions in production environments.
You can validate .expn
files using:
$schema
field in supported editorsajv-cli
for JSON structure validation- Experimental tools (see roadmap)
- Bidirectional JSON ↔
.expn
parser - EBNF validation and linting tool
- Web-based editor / playground
- SDKs and developer tools
The Experience Notation DSL and its accompanying JSON Schema are released under the Apache 2.0 Licence.
See the LICENSE
file for the full text.
Experience Notation was authored by Nikolaos Maniatis and is maintained by The Cato Bot Company Limited as part of the Context Notation initiative.
For questions about:
- Using Experience Notation in your projects
- Contributing to development
- Research collaborations
- Commercial support options
Feel free to reach out:
📧 [email protected]
💬 GitHub Discussions
🌐 context-notation.com
If you use Experience Notation in academic work, please cite:
Nikolaos Maniatis. Experience Notation Schema (v1.1). https://schemas.experience-notation.com/[email protected] Available at: https://github.com/context-notation/experience-notation Licensed under Apache 2.0. Maintained by The Cato Bot Company Limited.