Repository navigation
OpenInterviewer 5.1.0
OpenInterviewer 5.1.0
Participants can now take part in their own language and speak their answers,
and a study's transcripts can be exported as one Markdown file. Prompted by
@8888oukaouka-spec's fork; see
ACKNOWLEDGMENTS.md.
Interview languages
A study may offer English, Simplified Chinese, French, Japanese, Korean and
Spanish (Interview Languages). With more than one, the consent page opens
with a language choice preselected from the participant's browser. The consent
text, data notice, interview screens and thank-you screen then use that
language, and the interviewer conducts the whole interview in it.
- Researchers write the consent text (and optionally the thank-you text) for
each language; a blank one is generated in that language. - Consent is bound to the language read: the server hashes that language's
consent text, and every later request names the same language or is
refused. Each saved interview records its language. - Analysis is written in English, with quotations kept verbatim in the
participant's language. A per-installation analysis language is planned. - The fixed participant text was drafted with AI assistance and reviewed by
three other models (review record);
it is not a certified translation. - Studies without the setting behave exactly as before.
(#88)
Voice input
A study may let participants speak an answer (Voice Input). The text
appears in the answer box to check and edit; nothing is sent automatically.
The consent notice names who turns speech into text.
- Transcribed by this installation: up to 60 seconds per recording,
converted in the browser to 16 kHz WAV and transcribed once by Cloudflare
Workers AI (@cf/openai/whisper-large-v3-turbo). On Cloudflare the
installation's newAIbinding is used directly, never through AI Gateway;
on Node setCLOUDFLARE_WORKERS_AI_ACCOUNT_IDand
CLOUDFLARE_WORKERS_AI_TOKEN. OpenInterviewer does not store or log the
recording or its text, and the consent line promises only that the study
does not keep it (Cloudflare's terms rule out training but state no
retention period). Each recording is admitted like an interview turn. - The browser's own dictation: Chrome uses Google and Safari Apple, as
the notice says. Use it only where your ethics approval allows. - Transcription by the installation is not offered on the hosted service.
(#89)
Transcript export
Export transcripts (.md) downloads one Markdown file with every saved
transcript of a study. Transcript text is quoted so it cannot imitate the
file's own structure, and each interview lists what its participant was told
about the AI, the language the participant chose and whether voice input
was offered. The ZIP's per-interview Markdown is quoted the same way and
names the language too.
(#87, #90)
Fixed
- Deleting a study from the study list on Cloudflare failed with "Invalid
deletion confirmation." for every study. The list deletes a study without
interviews with a bodyless request, which OpenNext delivers to the route as
an empty body rather than none. An empty body is now treated as no body; a
non-empty one must still be a complete confirmation. Studies with
interviews were unaffected (they are deleted from the study's settings with
an explicit confirmation). (#90)
Upgrade notes
- Cloudflare:
npm run setup:cloudflare -- updatedeploys the new
template, which adds the Workers AI binding. Unused, it costs nothing;
transcription is billed by Cloudflare per audio minute after the free daily
allowance. No schema migration. - Node: optional
CLOUDFLARE_WORKERS_AI_ACCOUNT_IDand
CLOUDFLARE_WORKERS_AI_TOKENfor voice transcription. - Rolling back to 5.0.x: studies saved with interview languages or voice
input are refused by the older validator (fail-closed). Do not roll back
while such a study is collecting; other studies roll back as a compatible
redeploy.
Verification
npm run check:cloudflare (20 lanes) on the release commit. On staging: a
paid smoke of Workers AI transcription (one synthetic clip per language, all
six transcribed as said apart from Chinese punctuation, plus a full 60-second
clip and an oversize refusal), and a browser walk-through of a synthetic
English and Japanese study through consent, the microphone, the interview, the
save and the Markdown export. The language and
voice changes had a pre-release review (Kimi; the Codex lane stalled and was
cancelled), with its findings fixed or answered in the pull requests.