Contents

Chapter 1

Features

This chapter covers the core features and capabilities of Survey Engine.

Features

  • 10 question types: text, long_text, single_choice, multiple_choice, rating, scale, yes_no, email, number, date
  • Branching logic: conditional jumps based on answers (equals, contains, greater_than, less_than operators)
  • Interactive CLI runner: terminal-based survey experience with validation and branch navigation
  • Response persistence: save/load responses as JSON files, one per respondent
  • Built-in analytics: completion rate, per-question breakdowns, frequency analysis, statistical aggregates (mean, median, stdev)
  • JSON-driven definitions: define surveys as JSON, load and run them programmatically
  • Python 3.10+ stdlib only — no pip installs required

Quick Start

bash
# Run the built-in demo survey
python src/survey_engine.py --demo

# Run a custom survey from JSON
python src/survey_engine.py --run examples/nps_survey.json

# Analyze collected responses
python src/survey_engine.py --analyze examples/nps_survey.json
Chapter 2

CLI Reference

Follow this guide to get Survey Engine up and running in your environment.

CLI Reference

FlagDescription
--run FILERun a survey interactively from a JSON definition
--analyze FILEAnalyze collected responses for a survey
--responses-dir DIRDirectory containing response JSON files (default: responses/)
--demoRun a built-in demo NPS survey

Survey JSON Format

json
{
  "id": "customer-feedback",
  "title": "Customer Feedback Survey",
  "description": "Help us improve our product.",
  "questions": [
    {
      "id": "q1",
      "text": "How likely are you to recommend us? (0-10)",
      "type": "scale",
      "required": true,
      "minValue": 0,
      "maxValue": 10
    },
    {
      "id": "q2",
      "text": "What do you like most?",
      "type": "single_choice",
      "choices": ["Speed", "Simplicity", "Features", "Price"],
      "branches": [
        {
          "value": "Price",
          "target": "q4",
          "operator": "equals"
        }
      ]
    },
    {
      "id": "q3",
      "text": "Any suggestions?",
      "type": "long_text",
      "required": false,
      "help": "Be as specific as you like."
    }
  ]
}

Question Fields

FieldTypeRequiredDescription
idstringyesUnique question identifier
textstringyesThe question text shown to respondents
typestringnoQuestion type (default: text)
requiredboolnoWhether an answer is required (default: true)
choicesarraynoOptions for single_choice/multiple_choice
minValueintnoMinimum for rating/scale (default: 1)
maxValueintnoMaximum for rating/scale (default: 10)
branchesarraynoConditional branching rules
helpstringnoHelp text shown below the question

Branch Rule Fields

FieldTypeDescription
valuestringThe answer value that triggers this branch
targetstringQuestion ID to jump to
operatorstringequals, contains, greater_than, less_than
Chapter 3
🔒 Available in full product

Programmatic Usage

Chapter 4
🔒 Available in full product

File Structure

You’ve reached the end of the free preview

Get the full Survey Engine and unlock everything.

All Chapters

Get the complete guide with every chapter unlocked, including code samples, diagrams, and best practices.

Full Tool Suite

Access all interactive tools with complete data, all workload profiles, and the full scenario library.

Source Files

Downloadable source code, configuration files, and working examples from every chapter.

Lifetime Updates

Free updates for life. Every new chapter, tool, and improvement included.

Buy Now — $29 →
📦 Free sample included — download another copy for the full product.
Survey Engine v1.0.0 — Free Preview