Back to working plan MVP detail

Core Client Management

Customizable Questionnaire Builder

This feature should be a general form builder, not only an intake form. The same builder should support onboarding questionnaires, check-in forms, and future form-based workflows.

Drag and drop Reusable form types Coach-friendly creation

Product Principle

Form creation must be simple enough for non-technical coaches. The coach should not think in database fields or schema. They should choose a component, write the question, set basic rules, and continue.

  • Use drag and drop for structure.
  • Use click-and-hold handles to reorder questions.
  • Use clear component names, not technical field names.
  • Support reuse across onboarding, check-ins, and future forms.

Form Purpose

The coach must choose the form purpose before or during creation. This controls where the form can be used later.

  • Onboarding questionnaire
  • Check-in form
  • Progress update form
  • Nutrition review form
  • Future custom form type

Creation Flow

  1. Coach chooses to add an onboarding questionnaire, check-in form, or another supported form type.
  2. System opens the questionnaire creation screen.
  3. Coach clicks “Add question”.
  4. System opens a modal with component options.
  5. Coach selects a component type such as text, date, range, measurement, photo, or single choice.
  6. System asks the coach to enter the question text and configure required settings.
  7. The new question is added to the form canvas.
  8. Coach can click and hold the drag handle to reorder questions.
  9. Coach repeats the add-question flow until the form is complete.
  10. Coach previews the form, saves it, and assigns or schedules it based on the selected form purpose.

Builder Screen Reference

Form Setup

Form type: Onboarding
Language: English / Arabic
Status: Draft

Question Sequence

::
What is your main goal?Single choice
::
What is your current weight?Measurement
::
Upload current progress photos.Photo upload

Question Settings

Required: yes/no
Help text
Allowed units
Visible in client app

Component Catalog

Component Use
Short text Names, brief answers, short notes, simple free text.
Large text Long explanations, goals, medical background, coach-specific context.
Date Birth date, target date, injury date, event date.
Age Age input where the coach does not need exact date of birth.
Number General numeric answers such as weekly training days or experience years.
Measurement Weight, height, waist, body fat, and other unit-based values.
Range or slider Energy, stress, pain, adherence, confidence, difficulty, or satisfaction scores.
Single choice One answer from predefined options, such as primary goal or training level.
Multiple choice Multiple answers, such as available equipment, dietary restrictions, or injuries.
Yes/No Binary questions such as medical clearance or supplement use.
Dropdown Long option lists where radio buttons would be too noisy.
Photo upload Progress photos, food photos, medical or body-composition screenshots.
File upload PDFs, lab results, doctor notes, previous programs, or other documents.
Phone/email Contact fields with validation where needed.
Consent/acknowledgement Client confirms agreement, disclaimer, readiness, or data consent.
Section title/instruction block Separates the form into readable groups and gives context before questions.

Rules Per Question

  • Required or optional.
  • Help text or examples.
  • Minimum and maximum values for numbers, ranges, and measurements.
  • Allowed units where relevant.
  • Answer visibility for coach/client.
  • Reusable field mapping where the answer should update the client profile.

Future Enhancements

  • Conditional logic based on previous answers.
  • Duplicate an existing form.
  • Version history for published forms.
  • Arabic/English translations per question.
  • Templates for common onboarding and check-in formats.