• Hungry Minds
  • Posts
  • 🍔🧠 How Figma Handles 4M Users With Plain Postgres (No Redis Required)

🍔🧠 How Figma Handles 4M Users With Plain Postgres (No Redis Required)

PLUS: Database Indexing 101 📊, Scalable "Likes" System Design ❤️, Burnout Guide for Engineers 🔥

In partnership with

Happy Monday! ☀️

Welcome to the 482 new hungry minds who have joined us since last Monday!

If you aren't subscribed yet, join smart, curious, and hungry folks by subscribing here.

📚 Software Engineering Articles

🗞️ Tech and AI Trends

👨🏻‍💻 Coding Tip

  • Go's embedded interfaces enable flexible composition without explicit implementation

Time-to-digest: 5 minutes

Big thanks to our partners for keeping this newsletter free.

If you have a second, clicking the ad below helps us a ton—and who knows, you might find something you love.

💚

The #1 AI Meeting Assistant

Still taking manual meeting notes in 2025? Let AI handle the tedious work so you can focus on the important stuff.

Fellow is the AI meeting assistant that:

✔️ Auto-joins your Zoom, Google Meet, and Teams calls to take notes for you.
✔️ Tracks action items and decisions so nothing falls through the cracks.
✔️ Answers questions about meetings and searches through your transcripts, like ChatGPT.

Try Fellow today and get unlimited AI meeting notes for 30 days.

Figma started with a single Postgres database to store metadata like file information and user comments. As they grew to 40M+ users, they needed creative solutions to handle massive traffic while maintaining performance. Their journey shows how to evolve a simple database setup into a robust, scalable system.

The challenge: Scale a single Postgres instance to handle explosive growth while maintaining low latency, high throughput, and data consistency across multiple domains.

Implementation highlights:

  1. Read replicas + caching: Distributed read traffic across replicas and added caching for frequently accessed data

  2. Database federation: Split tables into separate databases by domain to spread the workload

  3. Connection pooling: Implemented PgBouncer to manage connections efficiently

  4. Vertical partitioning: Moved high-traffic columns to separate tables and databases

  5. Horizontal partitioning: Split tables at row level across databases with proxy-based routing

Results and learnings:

  • Massive scale: Successfully handles 40 M+ users' data and operations

  • High performance: Maintained low latency despite exponential growth

  • Operational simplicity: Kept Postgres as primary database instead of switching to NoSQL

This case study proves that Postgres can scale to handle internet-scale traffic when properly architected. You don't always need to jump to distributed NoSQL databases - sometimes the boring solution is the best.

I feel like scaling databases is like playing Tetris:
It's all about fitting the right pieces in the right places before they hit the ground! 🎮

ARTICLE (boss-mode unlocked)
How to Delegate Effectively 🤝

ESSENTIAL (tiny but mighty wisdom)
Twenty Tiny Leadership Lessons

ESSENTIAL (docs or it didn’t happen)
Developers Don’t Need More Documentation

ESSENTIAL (snap-happy coding)
Underusing Snapshot Testing

GITHUB REPO (money-me-maybe)
The OS for your personal finances

ARTICLE (ship-it-or-skip-it)
This is why you're not shipping

ARTICLE (files-are-everywhere)
(All) Databases Are Just Files. Postgres Too

Want to reach 180,000+ engineers?

Let’s work together! Whether it’s your product, service, or event, we’d love to help you connect with this awesome community.

Brief: OpenAI is allegedly working on a new social media platform to rival X, aiming to integrate cutting-edge AI tools and redefine online interaction.

Brief: OpenAI co-founder Ilya Sutskever's AGI moonshot was recently valued at a substantial leap from its September funding round.

Brief: A single dose of Eli Lilly’s experimental drug lepodisiran reduced lipoprotein(a), a dangerous cholesterol tied to heart disease, by 94% for up to a year in a clinical trial, offering hope for 64M at-risk Americans.

Brief: OpenAI's new o3 and o4-mini models combine simulated reasoning with multimodal tools (coding, browsing, image analysis), offering "near-genius" insights but still prone to errors, rolling out now for ChatGPT Pro/Team users and API developers.

Brief: OpenAI releases Codex CLI, a lightweight terminal-based coding agent that can explain, refactor, and generate code using natural language prompts, with sandboxed execution for safety.

This week’s coding challenge:

This week’s tip:

Use Go's embedded interfaces for flexible composition without explicit interface implementation. Go's interface embedding allows you to create larger interfaces from smaller ones, enabling modular API design and reducing boilerplate through implicit interface satisfaction.

Wen?

  • API Design: Creating flexible, composable interfaces that can be mixed and matched based on functionality requirements.

  • Testing: Easily mock complex interfaces by implementing only the required methods, reducing test boilerplate.

  • Library Development: Building extensible packages that allow users to implement only the methods they need while maintaining compatibility with the full interface.

"Twenty years from now, you will be more disappointed by the things that you didn't do than by the ones you did do, so throw off the bowlines, sail away from safe harbor, catch the trade winds in your sails. Explore. Dream. Discover."
Mark Twain

That’s it for today! ☀️

Enjoyed this issue? Send it to your friends here to sign up, or share it on Twitter!

If you want to submit a section to the newsletter or tell us what you think about today’s issue, reply to this email or DM me on Twitter! 🐦

Thanks for spending part of your Monday morning with Hungry Minds.
See you in a week — Alex.

Icons by Icons8.

*I may earn a commission if you get a subscription through the links marked with “aff.” (at no extra cost to you).