Best practices
Design efficiently and maintain high-quality work with these best practices.
File Organization
Keep your work organized from the start.
Naming Conventions
Files: Use descriptive, consistent names:
- ✅
Mobile App - User Profile v2.0 - ✅
Marketing Site - Homepage Redesign - ❌
Untitled 7 - ❌
Final Final REAL Final v3
Layers: Name everything meaningfully:
- ✅
button/primary/default - ✅
icon/chevron-right - ✅
header/navigation-bar - ❌
Rectangle 42 - ❌
Group 7 - ❌
Frame 123
Layer Hierarchy
Group Related Elements:
Header
├── Logo
├── Navigation
│ ├── Link - Home
│ ├── Link - About
│ └── Link - Contact
└── User Menu
├── Avatar
└── Dropdown
Collapse Completed Sections: Keep your layers panel clean by collapsing finished sections.
Delete Unused Layers: Don’t leave hidden or unused layers cluttering your file.
Page Organization
Use pages to organize large projects:
Pages for Stages:
📄 Wireframes
📄 Visual Design
📄 Prototypes
📄 Archive
Pages for Sections:
📄 Homepage
📄 Product Pages
📄 Checkout Flow
📄 User Profile
Component Best Practices
Build flexible, maintainable components.
Component Structure
Use Auto Layout: Always use Auto Layout for components that contain multiple elements.
Benefits:
- Responsive to content changes
- Maintains spacing automatically
- Easier to resize
- More predictable behavior
Proper Nesting:
Button Component
└── Auto Layout Frame
├── Icon (optional)
└── Text Label
Name Layers: Even inside components, name every layer clearly.
Component Variants
Organize Properties: Group related variants:
Button
├── Type: Primary, Secondary, Tertiary
├── Size: Small, Medium, Large
└── State: Default, Hover, Pressed, Disabled
Logical Combinations: Ensure all variant combinations make sense.
Default State: Set the most common variant as default.
Overrides
Expose Properties: Make common customizations easy:
- Text content
- Icon visibility
- Color overrides (when appropriate)
Instance Properties: Use instance properties for common swaps:
- Icon variations
- Boolean toggles (show/hide)
Documentation: Add descriptions to component properties explaining their use.
Design System Management
Maintain a healthy design system.
Consistency
Single Source of Truth: Keep one library file as the source of truth for all components and styles.
Use Styles Everywhere:
- Color styles for all colors
- Text styles for all typography
- Effect styles for shadows and blurs
Avoid Detaching: Don’t detach from components unless absolutely necessary.
Naming Conventions
Hierarchical Names: Use slashes for hierarchy:
color/primary/500
color/gray/100
text/heading/h1
text/body/regular
component/button/primary
Consistent Format: Choose a format and stick to it team-wide.
Library Updates
Semantic Versioning:
- Major: Breaking changes
- Minor: New features, backward compatible
- Patch: Bug fixes
Changelog: Document what changed in each update:
v2.1.0
- Added: Dark mode variants for all buttons
- Updated: Increased button height for better accessibility
- Fixed: Misaligned icon in alert component
Test Before Publishing: Always test library changes in real projects before publishing.
Performance Optimization
Keep files fast and responsive.
Layer Efficiency
Flatten When Done: Flatten complex layer hierarchies that won’t change:
- Finished illustrations
- Complex effects
- Heavy shadows
Simplify Paths: Remove unnecessary anchor points from vector paths.
Reduce Boolean Operations: Flatten boolean operations when editing is complete.
Image Optimization
Appropriate Format:
- PNG: Graphics with transparency
- JPG: Photos and complex images
- SVG: Icons and simple graphics
Compress Before Importing: Use ImageOptim or similar tools before importing.
Delete Unused Images: Clean up unused images from your file’s assets.
Effect Optimization
Minimize Blur: Heavy blur effects slow rendering - use sparingly.
Combine Shadows: Multiple shadows on many layers impact performance.
Simplify Effects: Consider using images for complex effects in large files.
File Size
Split Large Projects: Use multiple files for very large projects.
Use Components: Component instances are more efficient than copied groups.
Archive Old Versions: Move old iterations to archive page or separate file.
Responsive Design
Design for all screen sizes.
Mobile First
Start Small: Design mobile layouts first, then scale up.
Touch Targets: Minimum 44×44px for interactive elements.
Thumb Zone: Place important actions within easy reach on mobile.
Breakpoints
Standard Breakpoints:
Mobile: 375px - 767px
Tablet: 768px - 1023px
Desktop: 1024px+
Design Key Sizes: Don’t design every size - focus on:
- 375px (Mobile)
- 768px (Tablet)
- 1440px (Desktop)
Constraints
Set Appropriate Constraints:
- Navigation: Left & Right (stretch)
- Centered logo: Center
- Sidebar: Left + Top & Bottom
- Footer: Left & Right + Bottom
Auto Layout
Responsive Components: Use Auto Layout with:
- Hug contents for flexible sizing
- Fill container for stretching
- Min/max width for boundaries
Accessibility
Design for everyone.
Color Contrast
WCAG Standards:
- AA: 4.5:1 for normal text
- AA: 3:1 for large text (18pt+)
- AAA: 7:1 for normal text
Test Contrast: Use Acme plugins or tools to check:
- Stark
- Contrast
- A11y - Color Contrast Checker
Don’t Rely on Color Alone: Use icons or text labels in addition to color.
Typography
Readable Sizes:
- Body text: Minimum 16px
- Line height: 1.5× font size
- Line length: 45-75 characters
Font Weights: Ensure sufficient weight for readability.
Hierarchy: Clear visual hierarchy through size and weight differences.
Focus States
Visible Focus: Always design visible focus states for keyboard navigation.
Logical Tab Order: Ensure tab order follows visual flow.
Alt Text
Plan for Alt Text: Note where alt text is needed for images and icons.
Decorative vs Informative: Distinguish between decorative images (can be skipped) and informative images (need description).
Collaboration Workflow
Work effectively with your team.
Communication
Clear Comments: Be specific and constructive:
- ✅ “Let’s increase the button contrast to meet WCAG AA standards (currently 3.2:1, needs 4.5:1)”
- ❌ “Doesn’t look right”
Context: Explain the why behind design decisions.
@Mentions: Mention relevant people for visibility.
File Sharing
Appropriate Permissions:
- Edit: Team members actively working
- Comment: Stakeholders and reviewers
- View: Broader organization
Clear Status: Add status labels or notes:
- 🟡 In Progress
- 🟣 Ready for Review
- 🔵 In Review
- 🟢 Approved
Version Control
Named Versions: Save named versions at milestones:
- Before major changes
- When ready for review
- After approval
- Before handoff
Branch for Exploration: Use branches for experimental work or major changes.
Developer Handoff
Make implementation smooth.
Preparation
Complete Designs: Ensure all states are designed:
- Default, hover, focus, active, disabled
- Empty states
- Error states
- Loading states
Consistent Naming: Use names that match code conventions:
- camelCase or snake_case
- Match component names in codebase
Export Assets: Mark all assets for export with appropriate settings.
Documentation
Interaction Notes: Document interactions that aren’t obvious:
- Animations (duration, easing)
- Transitions
- Conditional logic
- Edge cases
Responsive Behavior: Note how elements should behave:
- What stays fixed vs scrolls
- How content reflows
- Breakpoint-specific changes
Annotations: Use comments to note:
- Implementation details
- Third-party libraries to use
- Technical constraints
- API requirements
Specs
Provide:
- Spacing measurements
- Color values (hex, RGB)
- Typography specs
- Asset files
- Interactive prototype
Developer Mode: Ensure developers have view access to:
- Inspect properties
- Copy code
- Download assets
Design Process
Efficient workflow from concept to completion.
Research Phase
Gather Requirements:
- User needs
- Business goals
- Technical constraints
- Content requirements
Competitive Analysis: Research similar products and patterns.
User Flows: Map out user journeys before designing screens.
Ideation
Low Fidelity First:
- Sketches
- Wireframes
- Lo-fi prototypes
Iterate Quickly: Multiple directions before polishing.
Get Feedback Early: Don’t wait until designs are perfect.
Visual Design
Style Exploration: Try different visual directions:
- Color schemes
- Typography
- Visual style
Apply System: Use design system components whenever possible.
Attention to Detail:
- Alignment
- Consistent spacing
- Typography hierarchy
- Micro-interactions
Testing
Internal Review: Team review for:
- Design quality
- Consistency
- Completeness
- Technical feasibility
User Testing: Test with actual users:
- Usability testing
- A/B testing
- Feedback sessions
Iterate: Refine based on feedback.
Quality Checklist
Before considering work complete:
Visual Quality
- All text is properly styled (no default text)
- Consistent spacing throughout
- Proper alignment
- No stray pixels or artifacts
- Proper layer nesting
- Everything named clearly
Components
- All components properly set up
- Variants cover all states
- Auto Layout used where appropriate
- No detached instances (unless intentional)
Responsiveness
- Designed for key breakpoints
- Constraints set correctly
- Tested at different sizes
Accessibility
- Color contrast meets WCAG AA
- Focus states designed
- Alt text planned
- Readable text sizes
Completeness
- All screens designed
- All states covered
- Empty states designed
- Error states designed
- Loading states designed
Handoff Ready
- Assets marked for export
- Interactions documented
- Comments addressed
- Developer notes added
- Prototype working
Common Pitfalls
Avoid these common mistakes.
Don’t
- ❌ Detach from components unnecessarily
- ❌ Use absolute positioning when Auto Layout works
- ❌ Leave default layer names
- ❌ Forget to name versions
- ❌ Design without constraints
- ❌ Skip documentation
- ❌ Ignore performance
- ❌ Copy instead of using instances
Do
- ✅ Use components and styles
- ✅ Name everything clearly
- ✅ Organize with pages and frames
- ✅ Set up constraints
- ✅ Use Auto Layout
- ✅ Test responsiveness
- ✅ Document decisions
- ✅ Keep files clean
Continuous Improvement
Learn Constantly: Stay updated with new features and techniques.
Seek Feedback: Ask for constructive criticism on your work.
Review Your Work: Look back at old projects and see what you’d improve.
Share Knowledge: Help teammates learn best practices.
Contribute: Improve the design system with new components and patterns.
Next Steps
- Master Keyboard Shortcuts
- Learn Advanced Features
- Build a Design System
- Improve Collaboration