Figma architecture: how Figma scaled (5 case studies)

Figma's backend scaling story in our database is mostly PostgreSQL on AWS RDS. Its 2023 post covers moving from one Postgres instance to multiple databases by vertically partitioning table groups. Its 2024 post covers a nine-month effort to horizontally shard Postgres with a custom query proxy and logical sharding before physical splits. Figma also rewrote its multiplayer server in Rust (2018) and built LiveGraph, which tails the Postgres replication log so the UI can subscribe to live query results (2021).

We track 5 public engineering write-ups by Figma, published between 2018 and 2026. They cover caching, change data capture, connection pooling and control plane. Stack mentioned most: PostgreSQL (3) and AWS RDS (2). 1 of the 5 state concrete scale numbers, for example "tens of thousands of sandboxes across products". Each card below links to our short summary and the original post.

Tech used in Figma's scaling write-ups

Figma scaling timeline: every story, summarized

  1. 2018-05-02

    How Mozilla's Rust dramatically improved our server-side performance

    Figma rewrote its multiplayer server in Rust to cut latency and memory use as documents and users grew.

    rewriteperformanceRustTypeScript

    Read the original post →

  2. 2021-10-14

    LiveGraph: real-time data fetching at Figma

    Figma built LiveGraph, which tails the Postgres replication log so its UI can subscribe to live query results.

    change data capturereal-time synccachingPostgreSQLGraphQL

    Read the original post →

  3. 2023-04-04

    The growing pains of database architecture

    How Figma moved from one Postgres instance to multiple databases by vertically partitioning table groups.

    vertical partitioningread replicasconnection poolingPostgreSQLAWS RDS

    Read the original post →

  4. 2024-03-14

    How Figma's Databases Team Lived to Tell the Scale

    Figma's nine-month effort to horizontally shard its Postgres stack using a custom query proxy and logical sharding before physical splits.

    horizontal shardingquery proxyonline migrationPostgreSQLAWS RDS

    Read the original post →

  5. 2026-11-04

    How Figma manages sandboxes at scale

    Figma's AI products needed secure places to run untrusted code, so the team built Nimbus, a centralized sandbox platform that product teams call through a simple namespace config and GetOrCreate/Get/Delete APIs. Nimbus picks a cloud provider, applies networking and security policies (trusted-host allowlists plus read-only GET/HEAD/OPTIONS to the rest of the internet, credentials decrypted only on the way out to their intended destination), and runs sandboxd inside each box for process supervision and metrics. Warm pools of already-running sandboxes cut provisioning latency by about 90% versus cold starts, raised availability from 99% to 99.95%, and absorb minutes of provider outages while Postgres claim transactions and a Redis health-check queue keep the pool correctly sized and singly assigned.

    tens of thousands of sandboxes across productswarm pools cut provisioning latency ~90%warm poolsmulti-provider failovernetwork policy isolationcontrol planeNimbusPostgresRedismulti-cloud

    Read the original post →

FAQ

What database does Figma use?

PostgreSQL, in all three of Figma's data posts we track: vertical partitioning (2023) and horizontal sharding (2024), both on AWS RDS, and LiveGraph, which tails the Postgres replication log (2021).

How did Figma shard Postgres?

Figma's 2024 post describes a nine-month effort that used a custom query proxy to route queries to shards, and made the system logically sharded before splitting data onto separate physical databases.

Why did Figma rewrite its multiplayer server in Rust?

Figma's 2018 post says it rewrote the multiplayer server in Rust to cut latency and memory use as documents and users grew.

The best scaling write-ups, weekly

One email a week. No spam.

Browse all 105 topics →