Skip to content

Introduction to Askalot

Askalot is an AI-powered survey platform with mathematical validation, designed to eliminate the cognitive overhead of maintaining logical coherence in complex questionnaires. The platform combines domain-specific language design with formal verification to ensure survey quality.

Platform Overview

Askalot consists of four integrated services, each handling a distinct phase of the survey lifecycle:

Armiger - Questionnaire Design

AI-assisted questionnaire authoring with SMT-based validation

armiger.askalot.io

Armiger provides a browser-based development environment for creating questionnaires using QML (Questionnaire Markup Language). The service features:

  • AI-powered generation: Let AI create questionnaires from requirements while QML handles logical consistency
  • Real-time validation: SMT solver checks for logical contradictions as you type
  • Syntax highlighting: Full QML language support with auto-completion
  • Mathematical verification: Automatic reachability, consistency, and cycle detection

Armiger orchestrates multiple code-server instances, providing each user with a dedicated VS Code environment pre-configured for QML development.

SirWay - Survey Execution

Lazy-evaluation survey engine with dynamic form generation

sirway.askalot.io

SirWay executes validated questionnaires with respondents. The platform features:

  • Lazy evaluation: Questions are evaluated on-demand based on current state
  • Dynamic flow control: Conditional branching without pre-computing all paths
  • Contradiction-free: Mathematical guarantees prevent impossible situations
  • Flow visualization: Interactive Mermaid diagrams show survey paths

SirWay ensures that respondents never encounter logically inconsistent questions or dead ends, using the formal semantics defined in QML.

Targetor - Campaign Management

Audience targeting and campaign orchestration

targetor.askalot.io

Targetor manages survey distribution and tracks campaign progress. The service features:

  • User database import: Load respondent lists from external sources
  • Demographic targeting: Select audiences based on demographic factors
  • Campaign tracking: Monitor completion rates and response quality
  • Launch management: Schedule and control survey deployment

Targetor enables representative sampling by targeting specific demographic profiles, ensuring survey results accurately reflect the intended population.

Balansor - Statistical Analysis

Data correction and export

balansor.askalot.io

Balansor processes collected survey responses for analysis. The service features:

  • Response rebalancing: Adjust weights to correct sampling bias
  • Post-stratification: Align sample demographics with population parameters
  • Data cleaning: Identify and handle inconsistencies
  • Multi-format export: Output to CSV, SPSS, R, and other formats

Balansor ensures that survey results are statistically representative and ready for analysis.

QML: Domain-Specific Language for Surveys

QML (Questionnaire Markup Language) is a YAML-based language specifically designed for AI-assisted questionnaire creation. The language design philosophy:

AI-Friendly Design

QML was designed with AI code generation in mind:

  • Declarative syntax: Describe what questions to ask, not how to manage control flow
  • Mathematical semantics: All logic expressed as first-order formulas suitable for SMT solving
  • Validation separation: AI generates content; SMT solver ensures logical coherence
  • Cognitive offloading: Survey designers focus on questions, not dependency management

This separation of concerns allows AI to generate complex questionnaires without the cognitive burden of simultaneously:

  • Generating semantically meaningful questions
  • Tracking conditional dependencies between questions
  • Ensuring logical consistency across all paths
  • Maintaining correct question ordering and flow
  • Avoiding contradictions and unreachable dead ends

Mathematical Foundation

QML questionnaires are backed by rigorous mathematical foundations:

Formal semantics: Every questionnaire is a mathematical object with well-defined properties

  • Items have preconditions and postconditions - Boolean predicates determining when questions are asked and what answers are valid
  • All outcomes are integers or integer vectors/matrices
  • Logical consistency is verified using Z3 SMT solver

Automated validation: The system automatically checks:

  • Reachability: Can every question be reached?
  • Consistency: Are validation rules satisfiable?
  • Acyclicity: Do dependencies form cycles?
  • Global satisfiability: Does at least one valid completion path exist?

These checks happen automatically during questionnaire design, catching logical errors before deployment.

See: Questionnaire Analysis for mathematical details.

How It Works Together

The four services form an integrated workflow:

graph LR
    A[Armiger<br/>Design with AI] --> B[Targetor<br/>Build Campaign]
    B --> C[SirWay<br/>Execute Survey]
    C --> D[Balansor<br/>Analyze Results]

    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#e8f5e9
    style D fill:#f3e5f5
  1. Design in Armiger: AI generates QML questionnaire, SMT validates logical consistency
  2. Campaign in Targetor: Import target audience, configure demographic parameters
  3. Execute in SirWay: Respondents complete surveys with guaranteed logical coherence
  4. Analyze in Balansor: Rebalance responses, correct sampling bias, export results

Key Benefits

For Survey Designers

  • AI assistance: Generate questionnaires from natural language descriptions
  • Error prevention: Mathematical validation catches logical flaws automatically
  • No manual dependency tracking: System handles question order and conditional logic
  • Confidence: Know that deployed surveys are logically sound

For Respondents

  • Smooth experience: Never encounter contradictory questions
  • Relevant questions: Only see questions that apply to their situation
  • No dead ends: Guaranteed to complete surveys that are reachable
  • Dynamic adaptation: Survey adapts based on previous answers

For Analysts

  • Quality data: Logical validation ensures response consistency
  • Representative samples: Targetor enables demographic balancing
  • Statistical correction: Balansor adjusts for sampling bias
  • Standard formats: Export to familiar analysis tools

Formal Verification in Practice

Traditional survey platforms require designers to manually ensure:

  • Questions appear in the correct order
  • Conditional logic doesn't create contradictions
  • All questions are reachable
  • Validation rules are mutually consistent

Askalot automates all of this through mathematical verification. Here's a simple questionnaire example:

flowchart TD
  q_age["q_age: What is your age?"]
  q_consent["q_consent: Do you consent to participate?"]
  q_children["q_children: How many children do you have?"]
  q_household["q_household: How many people live in your household?"]
  q_end["q_end: Thank you for participating!"]

  q_age e1@==> q_consent
  q_consent e2@==> q_household
  q_household e3@==> q_children
  q_children e4@==> q_end

  %% BEGIN_PRECONDITIONS
  q_consent ---- q_consent_precond_0(["q_age.outcome >= 18"])
  q_consent_precond_0 -..-> q_age
  q_children ---- q_children_precond_0(["q_household.outcome > 1"])
  q_children_precond_0 -..-> q_household
  %% END_PRECONDITIONS

  %% BEGIN_POSTCONDITIONS
  q_children ---- q_children_postcond_0{{"q_children.outcome < q_household.outcome"}}
  %% END_POSTCONDITIONS

  %% BEGIN_ITEM_STYLING
  q_age:::always
  q_consent:::conditional
  q_household:::always
  q_children:::conditional
  q_end:::always
  %% END_ITEM_STYLING

  %% BEGIN_CONDITION_STYLING
  q_consent_precond_0:::precondition
  q_children_precond_0:::precondition
  q_children_postcond_0:::postcondition
  %% END_CONDITION_STYLING

  classDef default fill:#F9F9F9,stroke:#333,stroke-width:2px
  classDef always fill:#00CC00,stroke:#000,stroke-width:2px
  classDef conditional fill:#FFCC00,stroke:#000,stroke-width:2px
  classDef precondition fill:#F5F5DC,stroke:#000,stroke-width:1px
  classDef postcondition fill:#E6F0FF,stroke:#000,stroke-width:1px

  e1@{ animate: true }
  e2@{ animate: true }
  e3@{ animate: true }
  e4@{ animate: true }

The SMT solver automatically verifies:

  1. Reachability: Green nodes (ALWAYS reachable), yellow nodes (CONDITIONAL on preconditions)
  2. Preconditions: Rounded nodes show when questions appear (e.g., consent only if age ≥ 18)
  3. Postconditions: Curly nodes validate answers (e.g., children < household size)
  4. Consistency: All constraints are simultaneously satisfiable

This happens instantly during design in Armiger, not after deployment when problems are discovered by confused respondents.

Getting Started

Ready to create mathematically verified surveys?

Quick Start Guide - Complete workflow walkthrough

Creating Surveys - Detailed QML guide

Theory - Mathematical foundations

Architecture

Each service is independently deployable and communicates through well-defined APIs:

  • Armiger: Manages code-server instances, load-balances across development environments
  • SirWay: Evaluates questionnaires on-the-fly using lazy evaluation semantics
  • Targetor: Orchestrates campaigns, tracks demographics and completion rates
  • Balansor: Processes response data, applies statistical corrections

All services share a common authentication system and data repository, enabling seamless workflow integration.

Next Steps

  • Quick Start


    Follow the complete workflow from design to analysis

    Start Now

  • Creating Surveys


    Learn QML syntax and best practices

    Guide

  • Mathematical Theory


    Understand the formal foundations

    Theory

  • API Reference


    Integrate Askalot into your applications

    API Docs