- 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 🔥

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
Learn why clever code might be your worst enemy
Simple guide to reduce React bundle size by 30%
Pinterest's massive TypeScript migration success story
Discover why more pull requests don't speed up development
Investigation docs turn engineering chaos into clarity
🗞️ Tech and AI Trends
Safe Superintelligence startup reaches $32B valuation
OpenAI plans to launch X-like social platform
Revolutionary drug shows promising results against cholesterol in clinical trials
👨🏻💻 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:
Read replicas + caching: Distributed read traffic across replicas and added caching for frequently accessed data
Database federation: Split tables into separate databases by domain to spread the workload
Connection pooling: Implemented PgBouncer to manage connections efficiently
Vertical partitioning: Moved high-traffic columns to separate tables and databases
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 🤝
ARTICLE (CSI: Engineering Edition)
How to turn chaos into clarity with Investigation Docs as an engineer
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 (speedy-python-party)
The fast, Pythonic way to build MCP servers and clients
GITHUB REPO (money-me-maybe)
The OS for your personal finances
ARTICLE (devtools-go-brrr)
More accurate DevTools performance debugging using real-world data
ARTICLE (clever is overrated)
Clever code is probably the worst code you could write
ARTICLE (bundle-diet-success)
How I Reduced My React Bundle Size by 30% (With Real Examples)
ARTICLE (ship-it-or-skip-it)
This is why you're not shipping
ARTICLE (migration-madness)
Migrating 3.7 Million Lines of Flow Code to TypeScript
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).