# When to Extract Prototypes to Figma - Decision Guide **Purpose:** Help designers decide when to extract HTML prototypes to Figma for visual refinement. **Quick Answer:** Extract when the design system is incomplete and the prototype needs visual polish. --- ## Decision Tree ``` Prototype Created ↓ Does it look polished? ↓ ┌─────┴─────┐ YES NO ↓ ↓ Complete Is design system incomplete? ↓ ┌─────┴─────┐ YES NO ↓ ↓ Extract to Quick CSS fixes Figma sufficient ↓ Refine design ↓ Update design system ↓ Re-render prototype ↓ Iterate or Complete ``` --- ## Quick Assessment Checklist ### ✅ Extract to Figma if: - [ ] Prototype not visually appealing or unpolished - [ ] Design system missing components for this view - [ ] Need to define new design tokens (colors, spacing, typography) - [ ] Stakeholder presentation requires high-fidelity - [ ] Multiple similar components need standardization - [ ] Visual hierarchy unclear - [ ] Spacing/alignment inconsistent ### ❌ Don't Extract if: - [ ] Prototype already looks good - [ ] Design system covers all needs - [ ] Still validating functionality - [ ] Rapid iteration more important than polish - [ ] Early exploration phase - [ ] Internal testing only --- ## Scenarios ### Scenario 1: First Page in Project **Situation:** Creating first prototype, design system is empty **Decision:** ✅ **Extract to Figma** **Reason:** Need to establish design foundation - Define color palette - Set typography scale - Create spacing system - Build first components **Workflow:** 1. Create basic prototype (functional) 2. Extract to Figma 3. Define complete design system 4. Re-render with design system 5. Use for all subsequent pages --- ### Scenario 2: Similar to Existing Pages **Situation:** Design system already has most components needed **Decision:** ❌ **Don't Extract** **Reason:** Design system sufficient - Reuse existing components - Apply existing tokens - Minor variations can be CSS tweaks **Workflow:** 1. Create prototype with design system 2. Test functionality 3. Make minor CSS adjustments if needed 4. Complete --- ### Scenario 3: New Component Type Needed **Situation:** Page needs component type not in design system (e.g., data table) **Decision:** ✅ **Extract to Figma** **Reason:** Need to design new component properly - Define component structure - Create variants and states - Document design tokens - Add to design system **Workflow:** 1. Create basic prototype 2. Extract to Figma 3. Design new component thoroughly 4. Add to design system 5. Re-render prototype 6. Component now available for future use --- ### Scenario 4: Stakeholder Presentation **Situation:** Working prototype exists but looks basic, client review tomorrow **Decision:** ✅ **Extract to Figma** **Reason:** Need polished visuals for presentation - Apply professional styling - Refine visual hierarchy - Add polish (shadows, effects) - Create presentation-ready mockups **Workflow:** 1. Extract current prototype 2. Polish in Figma quickly 3. Present Figma mockups 4. After approval, update design system 5. Re-render for development --- ### Scenario 5: Rapid Prototyping Phase **Situation:** Testing multiple concepts quickly, designs will change **Decision:** ❌ **Don't Extract** **Reason:** Too early for polish - Focus on functionality - Validate concepts first - Avoid polishing throwaway work **Workflow:** 1. Create basic prototypes 2. Test with users 3. Iterate on functionality 4. Once concept validated, then extract for polish --- ## Design System Maturity Levels ### Level 1: Empty (0-5 components) **Typical Decision:** Extract to Figma **Reason:** Need to build foundation **Focus:** Establish design tokens and core components ### Level 2: Growing (6-15 components) **Typical Decision:** Extract when gaps found **Reason:** Fill missing pieces **Focus:** Expand component library strategically ### Level 3: Mature (16+ components) **Typical Decision:** Rarely extract **Reason:** Most needs covered **Focus:** Reuse existing, minor variations only --- ## Cost-Benefit Analysis ### Benefits of Extracting **Design Quality:** - Professional visual polish - Consistent design system - Reusable components - Better stakeholder buy-in **Long-term Efficiency:** - Design system grows - Future prototypes faster - Reduced design debt - Team alignment ### Costs of Extracting **Time Investment:** - Extraction process: 15-30 min - Figma refinement: 1-3 hours - Design system update: 30-60 min - Re-rendering: 15-30 min - **Total: 2-5 hours per page** **Workflow Overhead:** - Context switching - Tool learning curve - Sync maintenance - Version tracking --- ## When Time is Limited ### High Priority: Extract **These pages justify the time investment:** - Landing pages (first impression) - Onboarding flows (user retention) - Checkout/payment (conversion critical) - Dashboard (frequent use) - Marketing pages (brand representation) ### Lower Priority: Skip **These pages can stay basic:** - Admin panels (internal use) - Error pages (rare views) - Settings pages (utility focus) - Debug/test pages (temporary) --- ## Team Collaboration Factors ### Extract When: **Designer-Developer Collaboration:** - Designer needs to define visual direction - Developer needs clear component specs - Team needs shared design language **Stakeholder Communication:** - Client needs to approve visuals - Marketing needs branded materials - Sales needs demo materials ### Skip When: **Solo Development:** - One person doing design + dev - Direct implementation faster - No handoff needed **Internal Tools:** - Team understands context - Functionality over aesthetics - Rapid iteration valued --- ## Quality Thresholds ### Extract if Prototype Has: **Visual Issues:** - Inconsistent spacing - Poor typography hierarchy - Clashing colors - Misaligned elements - Unclear visual hierarchy **Missing Design Elements:** - No hover states - Missing loading states - Incomplete error states - No disabled states - Basic placeholder styling **Component Gaps:** - Custom components needed - Existing components insufficient - New patterns required - Variant expansion needed ### Don't Extract if Prototype Has: **Sufficient Quality:** - Consistent spacing - Clear hierarchy - Appropriate colors - Aligned elements - Professional appearance **Complete Design System Coverage:** - All components available - States defined - Variants sufficient - Tokens applied --- ## Iteration Strategy ### First Iteration **Always extract if:** - Establishing design foundation - First page in project - Setting visual direction ### Subsequent Iterations **Extract only if:** - Significant design system gaps - New component types needed - Visual quality insufficient ### Final Iteration **Extract if:** - Stakeholder presentation - Production launch - Marketing materials needed --- ## Practical Examples ### Example 1: E-commerce Product Page **Phase 1: Sketch (Concept)** - Designer creates hand-drawn sketch of product page - Shows product gallery, reviews section, rating display - Rough layout and component placement **Phase 2: Specification (Phase 4C)** - Freya analyzes sketch - Creates detailed specification: - Product gallery: Image carousel with thumbnails - Reviews component: User avatar, rating, text, date - Rating stars: 5-star display with half-star support - All Object IDs defined - Content and interactions specified **Phase 3: Prototype (Phase 4D)** - Freya builds functional HTML prototype - Uses existing design system (buttons, inputs, cards) - Product gallery, reviews, ratings are basic/functional but unpolished **Initial Assessment:** - Prototype works functionally ✅ - Design system has: buttons, inputs, cards - Missing: product gallery, reviews component, rating stars (visual refinement needed) **Decision:** ✅ Extract to Figma **Phase 4: Figma Refinement** Freya automatically: 1. Analyzes prototype components 2. Identifies missing components (gallery, reviews, ratings) 3. Injects to Figma via MCP server 4. Page: `02-Product-Catalog / 2.3-Product-Detail` Designer in Figma: 5. Designs product gallery component (image zoom, transitions) 6. Designs reviews component (typography, spacing, layout) 7. Designs rating component (star icons, colors, states) 8. Applies design tokens (colors, spacing, typography) **Phase 5: Design System Update** Freya automatically: 9. Reads refined components from Figma 10. Extracts design tokens 11. Updates design system: - `D-Design-System/components/product-gallery.md` - `D-Design-System/components/review-card.md` - `D-Design-System/components/rating-stars.md` **Phase 6: Re-render** 12. Freya re-renders prototype with enhanced design system 13. Prototype now polished and professional **Result:** - ✅ Polished product page - ✅ 3 new reusable components in design system - ✅ Specification updated (if design evolved) - ✅ All future product pages can use these components --- ### Example 2: Settings Page **Phase 1: Sketch (Concept)** - Designer creates simple sketch of settings page - Shows form fields, toggles, save button - Standard layout, no custom components **Phase 2: Specification (Phase 4C)** - Freya analyzes sketch - Creates specification: - Form fields: Email, password, notifications - Toggle switches: Email notifications, push notifications - Save button: Standard primary button - All components exist in design system **Phase 3: Prototype (Phase 4D)** - Freya builds HTML prototype - Uses existing design system components: - Form inputs (already designed) - Toggle switches (already designed) - Buttons (already designed) - Prototype looks polished immediately **Initial Assessment:** - Prototype works functionally ✅ - Prototype looks polished ✅ - Design system has: forms, toggles, buttons - All components available - Internal use only **Decision:** ❌ Don't Extract **Actions:** 1. Apply existing design system ✅ (already done) 2. Minor CSS tweaks for spacing (if needed) 3. Test functionality ✅ 4. Complete ✅ **Result:** - ✅ Functional, polished page in 30 minutes - ✅ No Figma extraction needed - ✅ Design system reuse successful --- ### Example 3: Landing Page **Phase 1: Sketch (Concept)** - Designer creates detailed sketch of landing page - Hero section with headline, subtext, CTA - Feature cards with icons and descriptions - Testimonials with photos and quotes - Multiple CTA sections throughout **Phase 2: Specification (Phase 4C)** - Freya analyzes sketch - Creates comprehensive specification: - Hero section: Large headline, supporting text, primary CTA - Feature cards: Icon, title, description, learn more link - Testimonials: User photo, quote, name, company - CTA sections: Headline, button, background treatment - All Object IDs defined - Multi-language content specified **Phase 3: Prototype (Phase 4D)** - Freya builds functional HTML prototype - Uses basic design system components - Hero, features, testimonials are functional but basic - Client presentation in one week (high priority!) **Initial Assessment:** - Prototype works functionally ✅ - Design system has basic components - Needs visual refinement: hero section, feature cards, testimonials, CTA sections - Client presentation next week (high stakes!) **Decision:** ✅ Extract to Figma **Phase 4: Figma Refinement** Freya automatically: 1. Analyzes prototype components 2. Identifies components needing refinement (hero, features, testimonials, CTAs) 3. Injects to Figma via MCP server 4. Page: `01-Marketing / 1.1-Landing-Page` Designer in Figma: 5. Designs hero component (brand-critical, high impact) 6. Designs feature cards (icons, layout, spacing) 7. Designs testimonial component (photos, typography) 8. Polishes CTA sections (visual hierarchy, contrast) 9. Applies brand colors, typography, spacing tokens **Phase 5: Design System Update** Freya automatically: 10. Reads refined components from Figma 11. Extracts design tokens and components 12. Updates design system: - `D-Design-System/components/hero-section.md` - `D-Design-System/components/feature-card.md` - `D-Design-System/components/testimonial.md` - `D-Design-System/components/cta-section.md` **Phase 6: Re-render for Presentation** 13. Freya re-renders prototype with enhanced design system 14. Prototype now presentation-ready **Result:** - ✅ Polished, professional landing page - ✅ 4 new reusable components for future marketing pages - ✅ Client presentation ready - ✅ Design system significantly expanded --- ## Red Flags: When NOT to Extract ### 🚩 Premature Optimization **Sign:** Polishing before validating concept **Problem:** Wasting time on designs that may change **Solution:** Validate functionality first, polish later ### 🚩 Over-Engineering **Sign:** Creating design system for one-off pages **Problem:** Overhead exceeds benefit **Solution:** Keep it simple for unique pages ### 🚩 Analysis Paralysis **Sign:** Endless refinement cycles **Problem:** Never shipping **Solution:** Set "good enough" threshold ### 🚩 Tool Obsession **Sign:** Using Figma because you can, not because you should **Problem:** Process over progress **Solution:** Focus on outcomes, not tools --- ## Decision Matrix | Factor | Extract | Don't Extract | |--------|---------|---------------| | **Design System Maturity** | Empty/Growing | Mature | | **Visual Quality** | Needs polish | Sufficient | | **Component Coverage** | Gaps exist | Complete | | **Stakeholder Needs** | Presentation | Internal | | **Time Available** | 2-5 hours | < 1 hour | | **Page Importance** | High priority | Low priority | | **Iteration Phase** | First/Final | Middle | | **Team Size** | Collaborative | Solo | **Score:** 5+ "Extract" factors → Extract to Figma **Score:** 5+ "Don't Extract" factors → Skip extraction --- ## Questions to Ask Before deciding, ask yourself: 1. **Does the design system have what I need?** - Yes → Don't extract - No → Consider extracting 2. **Is this page important enough to polish?** - Yes → Extract - No → Skip 3. **Do I have 2-5 hours for refinement?** - Yes → Can extract - No → Skip 4. **Will this create reusable components?** - Yes → Extract (investment pays off) - No → Skip (one-off work) 5. **Is the concept validated?** - Yes → Safe to polish - No → Too early 6. **Do stakeholders need polished visuals?** - Yes → Extract - No → Skip --- ## Best Practices ### DO ✅ 1. **Extract strategically** - First page in project - High-priority pages - When design system gaps identified 2. **Batch extractions** - Extract multiple pages together - Efficient use of time - Consistent design decisions 3. **Document decisions** - Why extracted - What was refined - Design system updates 4. **Set time limits** - Don't over-polish - Good enough is sufficient - Ship working products ### DON'T ❌ 1. **Don't extract everything** - Selective extraction - Focus on high-value pages - Skip low-priority pages 2. **Don't extract too early** - Validate concepts first - Ensure functionality works - Don't polish throwaway work 3. **Don't extract too late** - Don't accumulate design debt - Address gaps early - Build design system progressively 4. **Don't extract without plan** - Know what needs refinement - Have clear goals - Update design system after --- ## Summary **Extract to Figma when:** - Design system is incomplete - Prototype needs visual polish - New components required - Stakeholder presentation needed - High-priority page - Time available for refinement **Skip extraction when:** - Design system covers all needs - Prototype looks sufficient - Rapid iteration more important - Low-priority page - Time constrained - Early exploration phase **Remember:** The goal is shipping polished, functional products. Extract strategically, not automatically. --- **Use this guide to make informed decisions about when to invest time in Figma refinement versus moving forward with code-based prototypes.**