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
- Coach chooses to add an onboarding questionnaire, check-in form, or another supported form type.
- System opens the questionnaire creation screen.
- Coach clicks “Add question”.
- System opens a modal with component options.
- Coach selects a component type such as text, date, range, measurement, photo, or single choice.
- System asks the coach to enter the question text and configure required settings.
- The new question is added to the form canvas.
- Coach can click and hold the drag handle to reorder questions.
- Coach repeats the add-question flow until the form is complete.
- 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
Add Question Modal
When the coach adds a component, show choices first, then ask for the question text and settings.
Short text
Date
Range
Measurement
Photo
Single choice
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.