Tools & Workflow
Figma for Developers
Learn the Figma fundamentals every developer needs — frames, auto layout, components, AI features, and the developer handoff workflow.
Figma for Developers: The 20% That Matters
You do not need to become a designer to use Figma effectively. You need to understand four concepts: Frames, Auto Layout, Components, and Styles.
Frames
Frames are Figma's equivalent of HTML containers (divs, sections, article). Every screen design lives in a Frame. Frames have:
- Fixed dimensions (e.g., 1440 × 900 for desktop, 375 × 812 for iPhone)
- Clip content (like overflow: hidden)
- Background color
- Border radius, shadow
Select the Frame tool (F) and draw a rectangle to create a frame. Nest frames inside frames to create complex layouts — just like nested divs.
Auto Layout
Auto Layout is Figma's implementation of CSS Flexbox. Apply it to a Frame or Group to control how children arrange:
- Direction: Horizontal (row) or Vertical (column)
- Gap: Space between children (like gap in CSS)
- Padding: Internal spacing (like padding in CSS)
- Alignment: Start, center, end, space-between (like justify-content and align-items)
- Wrap: Allow children to wrap to next line (like flex-wrap)
Keyboard shortcut: Select a frame, press Shift+A to add Auto Layout.
Components
Components are Figma's equivalent of React components. Create a component from any element, then place instances throughout the design. When you update the master component, all instances update.
Variants: A component can have multiple variants (like prop combinations in React). A Button component might have variants for: Primary/Secondary/Ghost × Default/Hover/Disabled.
To create a component: Select elements, right-click → "Create Component" (or Ctrl+Alt+K / Cmd+Option+K).
Styles
Styles are named presets for colors, typography, and effects — equivalent to CSS custom properties (variables). Create a "Primary Background" color style with value #0A0A0F, apply it to multiple elements, and changing the style updates all instances.
To create a style: Click the style icon in the right panel → "+" to add.
Figma AI Features
First Draft: Type a description in the chat and Figma generates a wireframe or layout in your file. Outputs editable Figma layers, not images.
Make: Select existing design elements and type how to transform them. "Make this more modern" or "Add a dark mode version."
AI text generation: Right-click on text layers → "Fill with AI content" to populate with realistic placeholder text based on context.
Developer Handoff: Reading a Figma File
When a designer shares a Figma file with you:
- Inspect mode (click the "Dev Mode" toggle, or press Shift+D): Select any element to see its CSS properties — exact color values, font sizes, spacing, border radius.
- Measure spacing: Hover over an element while holding Alt/Option to see the distance to other elements.
- Export assets: Select any layer, right-click → "Copy as SVG" or use the Export panel to export as WebP/PNG.
- See component props: Click a component instance to see its variant configuration.
Key Plugins for Developers
- Builder.io: Export Figma designs to React, Angular, or plain HTML code
- Locofy: Convert designs to React or Next.js components
- UX Pilot: AI wireframe generator inside Figma
- Magic Patterns: Text-to-UI components inside Figma
Key Takeaways
- Frames = containers, Auto Layout = Flexbox, Components = reusable elements, Styles = CSS variables
- You do not need design skills to read Figma — Dev Mode shows all CSS values on any element
- Figma AI First Draft generates editable wireframes from text descriptions
- Components with variants let designers define all states (hover, disabled) in one component
- The Developer Handoff workflow: inspect CSS values, measure spacing, export assets, copy as SVG
Example
# Figma Auto Layout → CSS Translation
/* Figma: Horizontal, Gap 16, Padding 12 24, Align center */
.element {
display: flex;
flex-direction: row;
gap: 16px;
padding: 12px 24px;
align-items: center;
}
/* Figma: Vertical, Gap 8, Fill container width */
.stack {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
}
/* Figma: Horizontal, Space Between, Align center */
.nav {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
/* Reading Figma values in Dev Mode:
- Colors: hex values, rgba for transparency
- Typography: font-family, font-size (px), font-weight, line-height
- Spacing: exact px values for margin and padding
- Borders: border-radius in px, border color and width
- Shadows: box-shadow values with exact offsets and blur */