{"id":30018214,"url":"https://github.com/context-notation/experience-notation","last_synced_at":"2025-08-06T00:00:42.560Z","repository":{"id":307305615,"uuid":"1027230717","full_name":"context-notation/experience-notation","owner":"context-notation","description":"Experience Notation (.expn) is a human-readable DSL for modelling structured user journeys. It bridges qualitative design with simulation and LLM-driven analysis.","archived":false,"fork":false,"pushed_at":"2025-07-30T13:48:13.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-30T16:14:48.810Z","etag":null,"topics":["ai-workflows","behavioural-simulation","customer-experience","cx-automation","domain-specific-language","dsl","ebnf","experience-notation","journey-mapping","json-schema","llm-integration","persona-modelling","structured-data","user-journey","ux-design"],"latest_commit_sha":null,"homepage":"https://experience-notation.com","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/context-notation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-27T15:37:22.000Z","updated_at":"2025-07-30T13:48:17.000Z","dependencies_parsed_at":"2025-07-30T16:16:06.038Z","dependency_job_id":"914afccb-2afc-44f6-b09f-94493e228844","html_url":"https://github.com/context-notation/experience-notation","commit_stats":null,"previous_names":["context-notation/experience-notation"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/context-notation/experience-notation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-notation%2Fexperience-notation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-notation%2Fexperience-notation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-notation%2Fexperience-notation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-notation%2Fexperience-notation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/context-notation","download_url":"https://codeload.github.com/context-notation/experience-notation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-notation%2Fexperience-notation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268994656,"owners_count":24341578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-workflows","behavioural-simulation","customer-experience","cx-automation","domain-specific-language","dsl","ebnf","experience-notation","journey-mapping","json-schema","llm-integration","persona-modelling","structured-data","user-journey","ux-design"],"created_at":"2025-08-06T00:00:36.978Z","updated_at":"2025-08-06T00:00:42.480Z","avatar_url":"https://github.com/context-notation.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Experience Notation (.expn)\n\n![Open DSL](https://img.shields.io/badge/DSL-open-4c1.svg)\n![Grammar EBNF](https://img.shields.io/badge/grammar-EBNF-informational.svg)\n![Apache 2.0](https://img.shields.io/badge/licence-Apache%202.0-blue.svg)\n![Pygments Lexer](https://img.shields.io/badge/syntax%20highlighting-pygments-orange.svg)\n\n**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](https://demoscope.ai) platform — a commercial service for synthetic user feedback — it is now available as an open-source specification.\n\n---\n\n## Key Concepts\n\nExperience Notation is:\n\n* **Readable** — Uses indentation and labels to keep files accessible.\n* **Structured** — Validates via both EBNF and JSON Schema.\n* **Expressive** — Captures emotional context, UI interaction, branching.\n* **Modular** — Supports external references and journey composition.\n* **LLM-compatible** — Can be generated, simulated, and adapted through prompts.\n\nExplore the full [Glossary](https://experience-notation.com/reference/glossary/) for key terms.\n\n---\n\n## Example\n\n```expn\nJourney: simple-onboarding\nTitle: Simple Onboarding Journey\nPersonas:\n  Persona A: New User\n    Traits: { tech_savvy=false }\n    Experience: Curious and slightly anxious\nEvents:\n  Event 1: App Launch\n    Step 1:\n      User: Persona A\n      Action: Opens the mobile app\n      UI-Element: Splash screen\n      Tag: entry\n  Event 2: Sign-Up\n    Step 1:\n      User: Persona A\n      Action: Enters email and password\n      UI-Element: Registration form\n    Step 2:\n      User: Persona A\n      Action: Taps \"Create Account\"\n      UI-Element: Call-to-action button\n      Tag: confirmation\n```\n\n---\n\n## Learn More\n\n* Full documentation at: [https://experience-notation.com](https://experience-notation.com)\n* Getting started: [Getting Started Guide](https://experience-notation.com/getting-started/what-is-expn/)\n* Browse examples: [`examples/`](./examples)\n* Learn to validate: [Validation Guide](https://experience-notation.com/spec/validation/)\n* Use with LLMs: [AI Integration](https://experience-notation.com/ai/structured-prompting/)\n\n---\n\n## In Use\n\nExperience Notation powers [Demoscope.ai](https://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.\n\n---\n\n## Grammar \u0026 Schema\n\n* [EBNF Syntax](./spec/Experience-Notation.ebnf)\n* [JSON Schema](./spec/experience-notation.schema.json)\n\nYou can validate `.expn` files using:\n\n* `$schema` field in supported editors\n* `ajv-cli` for JSON structure validation\n* Experimental tools (see roadmap)\n\n---\n\n## Roadmap\n\n* [ ] Bidirectional JSON ↔ `.expn` parser\n* [ ] EBNF validation and linting tool\n* [ ] Web-based editor / playground\n* [ ] SDKs and developer tools\n\n---\n\n## Licence\n\nThe Experience Notation DSL and its accompanying JSON Schema are released under the **Apache 2.0 Licence**.\n\nSee the [`LICENSE`](LICENSE) file for the full text.\n\n---\n\n## Support \u0026 Collaboration\n\nExperience Notation was authored by **Nikolaos Maniatis** and is maintained by **The Cato Bot Company Limited** as part of the [Context Notation](https://context-notation.com) initiative.\n\nFor questions about:\n- Using Experience Notation in your projects\n- Contributing to development\n- Research collaborations  \n- Commercial support options\n\nFeel free to reach out:\n\n📧 [hello@context-notation.com](mailto:hello@context-notation.com)  \n💬 [GitHub Discussions](https://github.com/context-notation/experience-notation/discussions)  \n🌐 [context-notation.com](https://context-notation.com)\n\n---\n\n## Citation\n\nIf you use Experience Notation in academic work, please cite:\n\n**Nikolaos Maniatis.** *Experience Notation Schema (v1.1)*.\n[https://schemas.experience-notation.com/experience-notation.schema@v1.1](https://schemas.experience-notation.com/experience-notation.schema@v1.1)\nAvailable at: [https://github.com/context-notation/experience-notation](https://github.com/context-notation/experience-notation)\nLicensed under Apache 2.0. Maintained by The Cato Bot Company Limited.\n\n**APA:**\nManiatis, N. (2025). *Experience Notation Schema (v1.1)*. [https://github.com/context-notation/experience-notation](https://github.com/context-notation/experience-notation)\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontext-notation%2Fexperience-notation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontext-notation%2Fexperience-notation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontext-notation%2Fexperience-notation/lists"}