Let's be friends

This is in the works! Would you like to help flesh it out? Let's do it!

The bet: browser-native and multiplayer-first (2012–2016)

Dylan Field and Evan Wallace founded Figma in 2012 with a controversial bet: design tools should live in the browser.
Industry consensus said it was impossible — WebGL wasn’t performant enough, designers needed offline access, and Adobe owned the market. They spent four years building the technical foundation (WebGL rendering, operational transforms for real-time sync) before shipping the public release in September 2016. Being cloud-native and multiplayer from day one wasn’t a feature add-on — it was the architecture. No “who has the master file?” No emailing Sketch files back and forth.
context

why it mattered: Figma made collaboration the default, not an afterthought. Design systems became team projects instead of one designer’s folder.

Components, libraries, and the first handoff attempt (2016–2017)

Figma introduced components with overrides — a step beyond Sketch’s static symbols — and launched team libraries so patterns could be published once and reused across files. In July 2017, Figma 2.0 added built-in prototyping and a Code tab (the original Inspect panel) that generated CSS, iOS, and Android styles directly from layers.
Developers could grab font sizes, colors, spacing, and border radius without exports or plugins.
team libraries beta (2017), team library 1.0 (2017)

why it mattered: Shared sources of truth plus live collaboration made system governance practical compared to file-based, single-user workflows. The Code tab was scrappy but closed the designer-developer loop inside one tool for the first time.

Styles and plugins: catching up (2018–2019)

Color and text styles (2018) enabled centralized palettes and typography that update everywhere they’re used — a precursor to design tokens, but not quite there yet. The plugin platform (2019) opened extensibility, reaching parity with Sketch’s ecosystem. In December 2019, Auto Layout 1.0 brought content-aware, flex-like layout to components — buttons that grow with labels, lists that reflow.

why it mattered: Styles were a half-step toward tokens. Auto Layout 1.0 was promising but limited — designers had to work around its constraints. Figma was still figuring out its lane: prototyping tool? design system platform? both?

competitive note: Sketch relied on third-party sync tools and desktop files; Figma’s cloud-first stack plus first-party auto layout reduced the maintenance burden, but the feature set still felt reactive rather than visionary.

The breakthrough: variants and auto layout 2.0 (2020)

Variants (announced at Config Europe 2020) unified related states and sizes into one component set — button-primary, button-secondary, button-disabled became one component with properties. This brought Figma closer to how developers think: components with props, not scattered artboards.
The updated Auto Layout 2.0 added stretch, per-side padding, absolute positioning, and more flexible controls.
config europe recap (2020)

why it mattered: This is when Figma clicked as a design systems platform. Variants solved the “1000 artboards” problem — systems finally felt organized and browsable. Auto Layout 2.0 actually worked for complex layouts. Components behaved like code.

Treating design like code: branching (2021)

Branching brought git-like version control to design files so teams could explore in isolation and merge to main — crucial for evolving shared libraries without breaking production files. It was messy at first (merge conflicts, branch hygiene) but showed the vision: design systems could iterate safely.
config 2021 recap, branching deep dive (2021)

why it mattered: Design systems are living products that need version control. Branching let teams propose changes, review them, and ship updates without the “copy the file and hope nothing breaks” workflow.

Governance through design: component properties (2022)

Component properties (text, booleans, instance swap) cut variant sprawl and made instances feel like components with real props. System maintainers could finally say “you can change the label, but not the padding” — governance through design, not documentation. Auto Layout gained absolute positioning and negative spacing, enabling more resilient, code-like systems.

why it mattered: Shifted from “here’s a library, good luck” to “here’s a system with guardrails.” Properties gave system designers control over what’s flexible and what’s fixed, reducing misuse and speeding up design velocity.

Speaking the same language: variables and dev mode (2023)

Variables introduced native design tokens (colors, numbers, strings, booleans) with modes and aliasing, aligning design values with code. Designers and developers finally had shared names: `$color-primary-500` instead of just `#3B82F6`. Modes enabled light/dark themes, responsive breakpoints, and accessibility variations without duplicating components.

Dev Mode replaced the Inspect panel with a dedicated developer workspace featuring token names, cleaner inspect UI, VS Code integration, and role-based permissions — designers and developers could work in the same file without cluttering each other’s view.
variables deep dive

plus: conditional prototyping with variables and quality-of-life updates (wrapping in auto layout, min/max sizing) pushed fidelity of system demos without code.

why it mattered: Variables were the missing piece. Design and engineering finally spoke the same language. Dev Mode wasn’t just a rebrand — it admitted “the Inspect panel tried to serve two audiences and served neither well.”

The next bet: AI and code generation (2024–future)

Figma Make (AI-powered design generation) and Schema (design-to-code) pushed beyond static handoff toward generative and automated workflows. Make lets designers describe UIs in natural language; Schema aims to convert designs directly to production-ready code. Too early to know if these will land, but the pattern is clear: Figma doubles down on what works and isn’t afraid to rebuild what doesn’t.

why it matters: Shifts Figma from collaboration and tokens toward closing the design-to-code gap entirely — though production readiness, design system integration, and adoption remain open questions.

Where it lands competitively

Sketch pioneered symbols and a plugin culture but remained Mac-only and file-centric. Adobe XD shipped fast interactions and Creative Cloud integrations but lagged on multiplayer, branching, and tokens. Figma’s cloud-first architecture, team libraries with live updates, auto layout, variants, component properties, variables, dev mode, and branching collectively made it a design systems platform rather than just a screen-design tool. They weren’t afraid to be wrong (Auto Layout 1.0, Inspect panel), rebuild what didn’t work (Auto Layout 2.0, Dev Mode), and follow their users into version control and tokens.
context

Let's be friends