Survey Resource Protocol — Simple, Readable, Parseable
SRP is a plain-text domain-specific language for professional survey design. Version-controlled, AI-compatible, and renderable to every platform your organization already operates. Own your instrument — independent of any vendor.
Survey "customer_satisfaction" do title "Customer Satisfaction Study" locale "en" Page "intro" do SingleSelect "overall" do text "Overall, how satisfied are you?" required option "Very satisfied" do segment "promoter" end option "Satisfied" option "Neutral" option "Dissatisfied" do segment "detractor" end end OpenEnd "followup" do text "Tell us more about your experience." show_only_if "detractor" end end end
The problem
Every major research platform stores surveys as XML, proprietary JSON, or binary files. The moment you save, your instrument stops being a document you can read, version, share, or hand to an AI assistant.
Verbose nested XML with cryptic attribute flags. Diffs are unreadable. Branching logic hidden in attribute strings.
Thousands of lines of deeply nested JSON with internal IDs. Version control produces meaningless noise.
Binary metadata database. Completely opaque outside the platform. Translations require the full licensed toolchain.
XLSForm moved authoring into spreadsheets, but XLSX is still binary. Merge conflicts are structurally unsolvable.
Survey logic lives in a GUI event model. Exports are snapshots of internal state, not readable definitions.
The closest the industry has to a neutral format — but Triple-S is a data exchange standard, not an authoring format.
Custom scripting language with no portable artifacts. Survey logic cannot leave the platform in any reusable form.
No export path. Surveys are data in their database, not artifacts you own. Migration means rebuilding from scratch.
Common symptoms
XML and binary formats produce diffs that are structurally correct but semantically unreadable. You cannot tell what changed in a question — only that the file changed.
Open a Qualtrics QSF or Decipher XML in any text editor. Thousands of lines of structural noise precede the question text. Reviewing requires platform access.
Survey logic authored in a platform GUI cannot be migrated without re-implementation. The format is an internal state snapshot, not a portable standard.
LLMs write fluent Ruby, Python, and YAML. They produce broken, hallucinated XML when asked for Decipher or QSF. Your survey format is outside any reasonable training distribution.
Extracting strings from XML for translation requires custom tooling. Merging translations back requires more. Most teams resort to spreadsheet copy-paste.
You cannot send a survey to a colleague for review in any format they can read without platform access. There is no equivalent of a readable document.
The solution
SRP is a domain-specific language purpose-built for survey design. Its syntax is minimal and consistent — close enough to natural language that anyone familiar with the subject matter can read it without training.
Every SRP file is a plain text file. It opens in any editor. It diffs cleanly in any version control system. It can be reviewed by a stakeholder without platform access and written or modified by any AI coding assistant.
SRP is not a delivery format — it is a working format. Design and review your instrument in SRP, then render it to whichever platform your organization already owns. The translation is mechanical. The design is yours and stays portable.
Workflow
You do not need to replace your platform. Move authoring upstream into a format your entire team can review, version, and reason about — then render to the system your organization already operates.
Use your existing editor, AI assistant, and version control system. SRP is plain text — it lives alongside the rest of your project files with no special tooling required.
Open a pull request. Share the file by email. Paste it into a document for stakeholder review. No platform license or account is required to read, comment on, or approve an SRP file.
SRP renders to HTML for web deployment and XForm for ODK-compatible platforms. Additional renderers can be implemented directly against the published AST.
AI integration
SRP is sufficiently close to natural language that current LLMs produce it reliably without fine-tuning. The DSL syntax is small and consistent — there is no XML schema to misinterpret, no proprietary JSON structure to invent.
Describe a survey in a prompt. Receive valid SRP. Validate, render, and ship. Any AI assistant your team already uses can draft, translate, refactor, and document SRP instruments without additional configuration.
If your organization authors surveys at scale across multiple platforms, we'd like to talk. Licensing covers use of the SRP parser, renderer, and DSL specification in commercial tooling, integrations, and survey platforms.
Documentation
The language is intentionally small. There are no surprises, no meta-syntax, and no required configuration. Start with the introduction — the core language is covered in five minutes.
A rapid walkthrough of the core language: question types, routing, pages, and segments. Everything required to write a production survey.
Complete reference for every question type, attribute, and DSL construct. The authoritative guide for production use and integration work.
Coming from ODK or KoboToolbox? See how SRP compares to XLSForm for field survey authoring — and why your existing ODK workflow is unchanged.