Apply MVE Frontend
Apply Minimum Viable Experience (MVE) as a user-outcome standard for frontend work. Treat a feature as successful only when a real user can understand it, complete the intended task, recover from problems, trust the result, and verify completion.
MVE is not merely the smallest working feature:
- MVP asks whether the capability exists.
- MVE asks whether the intended user can use it successfully and confidently.
Operating principles
- Start from the user's goal and context, not the API, database, or component tree.
- Use business language in the primary journey; keep technical concepts secondary or hidden.
- Show one clear primary action at each step.
- Ask for the minimum information required to make progress.
- Use progressive disclosure for advanced options, maintenance controls, and governance detail.
- Make meaningful system states visible and truthful.
- Preserve user effort when requests fail or the connection is interrupted.
- Distinguish accepted, processing, completed, and verified outcomes.
- Finish with proof of the user's actual outcome and a useful next action.
- Keep existing advanced capabilities available unless the task explicitly removes them.
- Match the project's existing patterns and make the smallest scoped change that achieves the MVE outcome.
Apply the workflow
1. Define the outcome
Write a short feature brief before designing or editing:
Feature:
Primary user:
User context:
User goal:
Primary success outcome:
Primary action:
Minimum required information:
Technical concepts to hide or translate:
Completion proof:
Responsive and accessibility expectations:
Out of scope:
If the repository or request already provides this information, derive it from the source instead of inventing a new product direction.
2. Inspect the existing journey
For an existing application, inspect the relevant route, shared shell, components, data-loading code, capability or permission checks, and current tests before proposing changes. Trace the user journey from entry to completion, including:
Entry -> orientation -> input/selection -> primary action -> progress -> review/confirmation -> completion -> next action
Record confusing terminology, unnecessary choices, hidden dependencies, missing states, data-loss risks, and places where the UI claims more than the backend has confirmed.
Do not infer that a backend capability exists from a frontend control. Treat the authoritative contract and confirmed runtime state as the source of truth.
3. Evaluate the eight MVE dimensions
Assess the feature against each dimension and identify the smallest high-value improvement.
- Goal clarity - The user understands what the screen is for and what outcome is possible.
- Guided usability - The next best action is obvious; the primary action is not competing with unnecessary choices.
- Simplicity - The user does not need to understand API objects, IDs, versions, resource relationships, or internal workflow names.
- State visibility - Loading, saving, draft, success, empty, unavailable, restricted, processing, and failure states are visible and understandable.
- Trust - The interface explains relevant sources, permissions, certainty, status, confirmation, or receipts without overwhelming the primary journey.
- Recovery - Validation, retry, reconnection, refresh, partial failure, and interruption paths preserve effort and provide actionable recovery.
- Inclusion - The experience works for the intended roles, devices, viewport sizes, keyboard users, screen readers, touch users, and reduced-motion preferences.
- Completion - The user can verify the real outcome and knows what to do next.
Use this compact score only as a diagnostic aid, not as a substitute for judgment:
0 = missing or misleading
1 = present but weak or inconsistent
2 = clear, recoverable, and appropriate to context
4. Design the happy path and the state model
Model the experience as a sequence of user-facing states, not only a success path:
- Initial or empty state
- Input or selection state
- Validation state
- Loading or saving state
- Progress or queued state
- Review or confirmation state
- Success state
- Permission or capability-denied state
- Unavailable or dependency-failure state
- Recoverable failure state
- Partial-completion state
- Interrupted, reconnecting, or resumable state
For every remote mutation, decide what the user sees before, during, and after the request. Prevent duplicate submissions. Preserve entered values. If multiple operations are involved, track each result independently and never imply atomic success unless the system guarantees it.
5. Translate the interface
Prefer terms that describe the user's work:
- "Create a service" instead of "Create a service-page resource"
- "Choose a category" instead of "Select a section ID"
- "Review and publish" instead of "Execute publication mutations"
- "This action is waiting for confirmation" instead of "Status: accepted"
Keep implementation identifiers out of primary forms and messages. Explain technical details only when they help the user decide, recover, or meet a governance requirement.
6. Implement or recommend the smallest useful change
When implementation is authorized:
- Reuse the existing shell, components, contracts, state patterns, and terminology.
- Keep one primary action per step or surface.
- Add inline, field-level, and summary errors where appropriate.
- Add explicit loading and disabled states for remote work.
- Make recovery local to the failed step where possible.
- Add completion links, receipts, previews, or other proof appropriate to the outcome.
- Preserve advanced routes and workflows unless their removal is in scope.
When the user asks for review, requirements, or design only, do not modify production files. Report the MVE gaps and recommended changes instead.
7. Verify the experience
Verify in proportion to risk. At minimum, check:
- The primary happy path from entry to verifiable completion.
- Validation and empty states.
- A recoverable failure and retry path when feasible.
- Permission or unavailable behavior.
- Refresh or interruption behavior for multi-step work.
- Desktop and intended mobile or narrow viewport layouts.
- Keyboard focus, semantic labels, live status announcements, and touch target usability.
- That success messaging matches authoritative backend state.
Report unverified cases explicitly. Passing typecheck or rendering a page does not prove the user journey is complete.
Reusable acceptance checklist
Understanding
- Can a new user explain the purpose of the screen?
- Is the primary outcome stated in user language?
- Are technical concepts hidden, translated, or justified?
Task completion
- Is the next action obvious?
- Is there one dominant action?
- Does the user provide only the minimum required information?
- Are advanced choices secondary?
Feedback and trust
- Does the user know what the system is doing?
- Are status and progress understandable?
- Are sources, permissions, confirmations, or receipts shown where trust matters?
- Does the UI avoid claiming success before the result is verified?
Resilience
- Are errors specific and actionable?
- Is entered information preserved?
- Can the user retry safely without duplicate mutations?
- Can the user recover after refresh, interruption, or partial completion?
Completion and inclusion
- Is completion unmistakable?
- Can the user verify the actual outcome?
- Is the next useful action clear?
- Does the feature work across intended roles, devices, viewport sizes, and assistive technologies?
Recommended response format
For an MVE review, report:
- Outcome: What the user is trying to accomplish.
- Current journey: The observed path and important states.
- MVE assessment: Strengths and gaps across the eight dimensions.
- Priority improvements: Smallest changes with the greatest user benefit.
- Verification: What was tested and what remains unverified.
For implementation work, add the changed files and user-visible behavior to the verification section. Keep the report plain-language and outcome-led.
MVE release gate
Do not call a feature MVE-ready when:
- The user must understand an API object or identifier to proceed.
- The next action is unclear.
- Loading or failure looks like a frozen or unexplained screen.
- A failed request unnecessarily erases user work.
- The UI claims success without evidence or authoritative confirmation.
- Permission restrictions appear as broken controls or misleading empty states.
- The feature works only at the developer's preferred viewport.
- The user cannot tell how to recover or what to do after completion.
1---2name: apply-mve-frontend3description: Apply a reusable Minimum Viable Experience framework to frontend design, review, implementation, or refinement. Use when building pages, forms, dashboards, chat interfaces, admin workflows, mobile experiences, or multi-step journeys and the goal is to provide enough usability, support, confidence, inclusion, and satisfaction for users to complete their goal without understanding the underlying APIs, database, or data model.4---56# Apply MVE Frontend78Apply Minimum Viable Experience (MVE) as a user-outcome standard for frontend work. Treat a feature as successful only when a real user can understand it, complete the intended task, recover from problems, trust the result, and verify completion.910MVE is not merely the smallest working feature:1112- MVP asks whether the capability exists.13- MVE asks whether the intended user can use it successfully and confidently.1415## Operating principles1617- Start from the user's goal and context, not the API, database, or component tree.18- Use business language in the primary journey; keep technical concepts secondary or hidden.19- Show one clear primary action at each step.20- Ask for the minimum information required to make progress.21- Use progressive disclosure for advanced options, maintenance controls, and governance detail.22- Make meaningful system states visible and truthful.23- Preserve user effort when requests fail or the connection is interrupted.24- Distinguish accepted, processing, completed, and verified outcomes.25- Finish with proof of the user's actual outcome and a useful next action.26- Keep existing advanced capabilities available unless the task explicitly removes them.27- Match the project's existing patterns and make the smallest scoped change that achieves the MVE outcome.2829## Apply the workflow3031### 1. Define the outcome3233Write a short feature brief before designing or editing:3435```text36Feature:37Primary user:38User context:39User goal:40Primary success outcome:41Primary action:42Minimum required information:43Technical concepts to hide or translate:44Completion proof:45Responsive and accessibility expectations:46Out of scope:47```4849If the repository or request already provides this information, derive it from the source instead of inventing a new product direction.5051### 2. Inspect the existing journey5253For an existing application, inspect the relevant route, shared shell, components, data-loading code, capability or permission checks, and current tests before proposing changes. Trace the user journey from entry to completion, including:5455```text56Entry -> orientation -> input/selection -> primary action -> progress -> review/confirmation -> completion -> next action57```5859Record confusing terminology, unnecessary choices, hidden dependencies, missing states, data-loss risks, and places where the UI claims more than the backend has confirmed.6061Do not infer that a backend capability exists from a frontend control. Treat the authoritative contract and confirmed runtime state as the source of truth.6263### 3. Evaluate the eight MVE dimensions6465Assess the feature against each dimension and identify the smallest high-value improvement.66671. **Goal clarity** - The user understands what the screen is for and what outcome is possible.682. **Guided usability** - The next best action is obvious; the primary action is not competing with unnecessary choices.693. **Simplicity** - The user does not need to understand API objects, IDs, versions, resource relationships, or internal workflow names.704. **State visibility** - Loading, saving, draft, success, empty, unavailable, restricted, processing, and failure states are visible and understandable.715. **Trust** - The interface explains relevant sources, permissions, certainty, status, confirmation, or receipts without overwhelming the primary journey.726. **Recovery** - Validation, retry, reconnection, refresh, partial failure, and interruption paths preserve effort and provide actionable recovery.737. **Inclusion** - The experience works for the intended roles, devices, viewport sizes, keyboard users, screen readers, touch users, and reduced-motion preferences.748. **Completion** - The user can verify the real outcome and knows what to do next.7576Use this compact score only as a diagnostic aid, not as a substitute for judgment:7778```text790 = missing or misleading801 = present but weak or inconsistent812 = clear, recoverable, and appropriate to context82```8384### 4. Design the happy path and the state model8586Model the experience as a sequence of user-facing states, not only a success path:8788- Initial or empty state89- Input or selection state90- Validation state91- Loading or saving state92- Progress or queued state93- Review or confirmation state94- Success state95- Permission or capability-denied state96- Unavailable or dependency-failure state97- Recoverable failure state98- Partial-completion state99- Interrupted, reconnecting, or resumable state100101For every remote mutation, decide what the user sees before, during, and after the request. Prevent duplicate submissions. Preserve entered values. If multiple operations are involved, track each result independently and never imply atomic success unless the system guarantees it.102103### 5. Translate the interface104105Prefer terms that describe the user's work:106107- "Create a service" instead of "Create a service-page resource"108- "Choose a category" instead of "Select a section ID"109- "Review and publish" instead of "Execute publication mutations"110- "This action is waiting for confirmation" instead of "Status: accepted"111112Keep implementation identifiers out of primary forms and messages. Explain technical details only when they help the user decide, recover, or meet a governance requirement.113114### 6. Implement or recommend the smallest useful change115116When implementation is authorized:117118- Reuse the existing shell, components, contracts, state patterns, and terminology.119- Keep one primary action per step or surface.120- Add inline, field-level, and summary errors where appropriate.121- Add explicit loading and disabled states for remote work.122- Make recovery local to the failed step where possible.123- Add completion links, receipts, previews, or other proof appropriate to the outcome.124- Preserve advanced routes and workflows unless their removal is in scope.125126When the user asks for review, requirements, or design only, do not modify production files. Report the MVE gaps and recommended changes instead.127128### 7. Verify the experience129130Verify in proportion to risk. At minimum, check:131132- The primary happy path from entry to verifiable completion.133- Validation and empty states.134- A recoverable failure and retry path when feasible.135- Permission or unavailable behavior.136- Refresh or interruption behavior for multi-step work.137- Desktop and intended mobile or narrow viewport layouts.138- Keyboard focus, semantic labels, live status announcements, and touch target usability.139- That success messaging matches authoritative backend state.140141Report unverified cases explicitly. Passing typecheck or rendering a page does not prove the user journey is complete.142143## Reusable acceptance checklist144145### Understanding146147- Can a new user explain the purpose of the screen?148- Is the primary outcome stated in user language?149- Are technical concepts hidden, translated, or justified?150151### Task completion152153- Is the next action obvious?154- Is there one dominant action?155- Does the user provide only the minimum required information?156- Are advanced choices secondary?157158### Feedback and trust159160- Does the user know what the system is doing?161- Are status and progress understandable?162- Are sources, permissions, confirmations, or receipts shown where trust matters?163- Does the UI avoid claiming success before the result is verified?164165### Resilience166167- Are errors specific and actionable?168- Is entered information preserved?169- Can the user retry safely without duplicate mutations?170- Can the user recover after refresh, interruption, or partial completion?171172### Completion and inclusion173174- Is completion unmistakable?175- Can the user verify the actual outcome?176- Is the next useful action clear?177- Does the feature work across intended roles, devices, viewport sizes, and assistive technologies?178179## Recommended response format180181For an MVE review, report:1821831. **Outcome:** What the user is trying to accomplish.1842. **Current journey:** The observed path and important states.1853. **MVE assessment:** Strengths and gaps across the eight dimensions.1864. **Priority improvements:** Smallest changes with the greatest user benefit.1875. **Verification:** What was tested and what remains unverified.188189For implementation work, add the changed files and user-visible behavior to the verification section. Keep the report plain-language and outcome-led.190191## MVE release gate192193Do not call a feature MVE-ready when:194195- The user must understand an API object or identifier to proceed.196- The next action is unclear.197- Loading or failure looks like a frozen or unexplained screen.198- A failed request unnecessarily erases user work.199- The UI claims success without evidence or authoritative confirmation.200- Permission restrictions appear as broken controls or misleading empty states.201- The feature works only at the developer's preferred viewport.202- The user cannot tell how to recover or what to do after completion.