Our work
Logitude
BotiqueAI
LogitudeCAWI · Online surveysLLM · Next.js · Supabase
Case Study

CAWI Programming

From a Word questionnaire to an online survey ready to field.

Logitude is a research firm running CATI, CAWI and CAPI surveys. We programmed a CAWI questionnaire from its Word specification: screens, rotations, routing, input controls and a standalone HTML export, with a testable prototype before going live.

35
screens programmedChapters and questions
7
screen typesChoice, matrices, rankings, scales…
1 000
target respondentsNational 18+ sample
HTML
standalone exportOne file, no server
Client
Logitude
Research firm since 2010
Mode
CAWI
Online survey
Source
Word specification
Questionnaire + exchanges
Screens
35
Incl. 3 chapters
Deliverable
Prototype + HTML
Testable before fielding
Stack
Next.js
Supabase · Claude / GPT
The Challenge

Turning a Word questionnaire
into a reliable survey.

A Word specification describes questions, filters, rotations and sometimes ambiguous instructions. Programming it by hand is slow, and every routing error biases the survey.

The aim was to speed up go-live without sacrificing fidelity to the original questionnaire.

Fidelity to the specification
Wording, options, order, exclusive or pinned options at the end of a list: the survey must reproduce the document exactly.
Rotation and routing
Random rotation of options or screens, display conditions and interview terminations based on answers.
Validating before fielding
The client must walk through the survey, comment on it and correct it before any respondent is invited.
The Solution

A programming tool
built for CAWI.

The questionnaire is imported then refined in a screen editor, previewed as a respondent would see it, shared with the team and exported as a standalone HTML file.

①
AI import from Word

The .docx text is converted into a structured survey by a single structured-output LLM call (Claude or GPT, user’s choice). It produces options, rotations, exclusive options, display conditions and terminations. It is a first draft: ambiguous instructions are refined in the editor.

Mammoth (.docx)ClaudeGPTStructured output
②
Screen editor, rotation and routing

Screen types: chapter, single choice, multiple choice, matrix, ranking, 0-10 scale and numeric. Rotation engine (pinned or exclusive options), routing conditions with operators and interview termination, live preview as a respondent.

RotationRoutageConditionsAperçu
③
Fielding, quotas and tracking

Respondent flow served from tracked links with session resume, quota groups and segments, response collection, analysis tables (sex, age, socio-professional category…) and CSV export.

Liens suivisQuotasAnalyseCSV
④
Team work and standalone export

Roles (admin, client, panelist), member invitations, a discussion thread per survey with email notification, and export of the survey as one HTML file that runs with a double-click.

ClerkSupabaseResendExport HTML
Impact

From specification
to survey, faster.

35
screens reproduced
Faithful to the Word questionnaire
7
screen types
Choice, matrices, rankings, scales
IA
automatic import
First draft from the Word file
1
HTML file
Standalone survey, no server
Tech Stack

Web stack
and structured AI

Next.js and Supabase for the tool, Claude or GPT for the import, and an in-house rotation and routing engine to guarantee identical behaviour in the tool and the HTML export.

AI
🤖
Claude · GPT
Questionnaire import with structured output
📄
Mammoth
Text extraction from Word files
Application
🖥️
Next.js 16 · React 19
Editor, preview and respondent flow
🔀
Rotation engine
Same logic in the tool and the HTML export
Data
🗄️
Supabase (Postgres)
Surveys, links, responses, quotas, team
🔐
Clerk
Authentication and business roles
Collaboration
✉️
Resend
Email notifications for discussions
📦
HTML export
Standalone single-file survey
BotiqueAI
Survey programming and custom AI
← Back to portfolio