The Architecture of Excellence
A tactical deconstruction of the Figma workflows used by Slack, Webflow, Mozilla, and more.
Stop making files; start building systems.
1. Slack: The Intentional Introduction
How do you manage a project with 50+ iterations? Slack designers solve this by treating a Figma file like a professional presentation deck rather than a canvas.
“We don’t just show work; we show the thinking. If a stakeholder enters the file, they should be able to understand the project’s ‘Why’ without me on a Zoom call.”
The “How-To” Implementation
1 Build the “Project Cover” Page:
Create a 1920×1080 frame on Page 1. Include: Project Title, Status (Draft/In Review/Shipped), Product Manager name, and a link to the Jira/PRD. Right-click the frame and select “Set as Thumbnail.”
2 The Iteration “Graveyard”:
Don’t delete old ideas. Create a page named
🗄️ Archive. When an iteration is rejected, move it there. Label it with the date:[2024-06-12] Search Bar V1 - Rejected. This preserves your “paper trail.”3 Context Sticky Notes:
Use a high-contrast component (like a bright yellow sticky) to explain why a certain decision was made. Place these right next to the frames.
2. Webflow: Constructible Design
Webflow’s team treats Figma like code. They utilize “Sections” to create a boundary that developers can trust. No more guessing what is “v.final_final_2”.
“If it’s not in a marked section, it doesn’t exist to the engineers. We use sections as a contract to signal that a design has passed QA.”
The “How-To” Implementation
1 Use Figma Sections (Shift + S):
Group your final designs into a Section. Rename the section to
✅ Ready for Development. This allows developers to use “Dev Mode” to focus only on what’s inside that boundary.2 The “State” Stack:
Never show just the “Happy Path.” Stack your frames vertically: Default state on top, Hover state below it, then Focused, then Error. This gives devs a clear blueprint for CSS/Logic implementation.
3 Job Story Integration:
Put a text block above the section that says: “As a user, I want to [Action] so that I can [Outcome].” This ensures the developer understands the function, not just the aesthetic.
3. Firefox: The Post-Build Audit
At Mozilla’s scale, the biggest problem is “Design Drift” where the live app doesn’t look like the Figma file. Their staff designers keep strict “Audit” pages.
The “How-To” Implementation
1 The Audit Comparison Page:
Create a page called
🔍 QA Audit. Take a screenshot of the live production environment and place it next to your Figma frame. Use theMeasuretool or redlines to point out discrepancies in spacing, typography, or color.2 Decision Logs:
Maintain a “Change Log” on each page. Use a small table component to track: Date | Changed By | Change Made | Reason. This stops stakeholders from asking the same questions every week.
4. Plaid: Motion as Communication
Plaid manages financial data, where friction and feedback are critical. They use motion prototypes to show devs exactly how much a screen should “bounce” or “slide.”
“A static screen is a guess. A prototype is a spec. We prototype the micro-interactions so the developer doesn’t have to estimate easing curves.”
The “How-To” Implementation
1 The “Interactive Blueprint” Page:
Instead of one giant prototype, create “mini-prototypes.” One for a button click, one for a page transition. This prevents the “spaghetti lines” from making the file laggy.
2 Specify Easing Values:
When using Smart Animate, don’t just use “Ease-In.” Add a text label specifying the duration (e.g.,
300ms) and the curve (e.g.,Cubic-Bezier(0.4, 0, 0.2, 1)). Developers can copy these values directly into CSS.
5. Hex: Workflow Mapping
Hex designers focus on the “User Flow” rather than just individual screens. They build “Logic Maps” that explain how data moves through the app.
The “How-To” Implementation
1 User Flow Connectors:
Use a plugin like
Autoflowor Figma’s native connector lines to link screens. If a user clicks ‘A’, they go to ‘B’. This visualizes the branching logic for engineers.2 Use Real Data:
Replace “John Doe” with realistic, messy data. Use the
Google Sheets Syncplugin to pull in real numbers. This helps you see where a table might break or where a label might truncate.
6. Lattice: The Zero-Friction Setup
Lattice designers don’t start from scratch. They have a “Base File” that includes every status, color, and documentation component pre-loaded.
The “How-To” Implementation
1 The Standardized Page List:
Every file should have the same first 5 pages:
---,💎 Cover,ℹ️ Context,✅ Ready for Dev,🚧 Work in Progress,🗄️ Archive. This predictability allows anyone in the company to find what they need in seconds.2 Component Documentation:
When building a new component, write a “Usage Guideline” next to it. Explain when to use a ‘Primary’ vs ‘Secondary’ button. This is your “local design system.”
What Managers Are Looking For
When a Design Manager opens your file for a portfolio review, they are performing a “Code Audit” on your canvas. Here is exactly what they check in the first 60 seconds.
1. The Layer Name Test: Do layers have names? Or is it “Frame 102”? Messy layers indicate you can’t collaborate at scale.
2. The Stress Test: If I resize your frame, does it break? This reveals your mastery of Auto Layout.
3. Component Hygiene: Are you using the Design System? Or are you creating “detached” instances that break the source of truth?
4. Navigation Speed: Can I understand the user flow without clicking the “Play” button? Good files are self-documenting.