Conversational Survey Design Tool
← Project Index Conversational Survey Design Tool

Conversational Survey Design Tool

A bias-reducing survey system that turns a questionnaire into an actual conversation -; indirect questioning, rapport-building, and adaptive flow, with trust-level tracking and sentiment analysis running underneath.

Archived Started: Summer 2025 Updated: Summer 2025

Overview

Traditional surveys leak bias everywhere -; leading phrasing, loaded words, questions so blunt people answer the version they think you want to hear. This tool attacks the problem from two sides. One half is a conversational engine that delivers questions as a natural back-and-forth instead of a form. The other is an optimizer that audits the questions themselves for bias, readability, and cognitive load before they ever reach a respondent.

Background

The design leans on real survey-methodology research -; framing effects, indirect questioning, progressive disclosure -; rather than just vibes about what feels less biased. The working theory was that a conversation that builds rapport first, asks sideways instead of head-on, and adapts to how guarded someone is being would pull more honest answers out of sensitive topics.

It was built LLM-agnostic on purpose: the same flow runs on GPT-4, Claude, a local Ollama model, or a rule-based fallback when no model is available.

How It Works

The conversational engine (Flask + Python) runs a state machine -; greeting, building rapport, main questions, deepening, closing -; while a ConversationContext tracks trust level and sentiment in real time. Trust is estimated from signals like response length, personal pronouns, and emotional disclosure; questions carry an automatic sensitivity rating (low / medium / high) that shapes how and when they get asked.

The optimizer is the second half: it flags seven kinds of bias (leading phrases, loaded words, double-barreled questions, assumptive language, and more), scores readability via Flesch-Kincaid, estimates cognitive load, and adapts wording for six audience types -; from 8-;10-year-olds up through technical professionals. Sentiment runs on TextBlob with LLM-assisted theme extraction.

Current Status

Archived as a Summer 2025 build. Both halves work -; the engine and the optimizer each have a Flask backend and HTML front end, plus an analytics view with sentiment distribution and auto-generated recommendations. It's parked rather than abandoned; nothing's broken, it just didn't find a live deployment.

  • Conversational engine with trust/sentiment tracking and a five-stage flow.
  • Question optimizer: seven-way bias detection, readability, cognitive-load scoring.
  • LLM-agnostic (OpenAI / Claude / Ollama / rule-based fallback).