Questionnaire

Multi-step form, one question at a time (single choice, multiple choice, free text, skippable). Each step is a POST and the server decides what comes next: validation, conditional questions and resuming all live in Go. Keys 1–9 choose, Enter advances; Back never validates.

With a conditional question and resuming

Keys 1–9 choose; Enter advances. "No" on the first question skips the one about areas. Resume saved answers

Question 1 of 3

Have you ever run an experiment from a written protocol?
@components.Questionnaire(components.QuestionnaireProps{
  ID: "profile", Action: "/profile/answer",
  Step: s.Step, Total: s.Total, Question: s.Question, Answers: s.Answers, Error: s.Error,
})