Seibel and Caldwell frame the episode around Paul Buchheit’s question: how can you get 90% of the benefit with 10% of the work? Buchheit began Gmail by reading his own email through an existing Google Groups interface, then added features as he needed them. When a coworker wanted to use it with his own email, Buchheit built that next step.
Things That Don't Scale, The Software Edition
Speakers
Michael Seibel, with Y Combinator, and Dalton Caldwell discuss software startups’ practical ways to make products work before building scalable systems.
Caldwell recalls seeing Facebook’s early servers in a Santa Clara data center, with separate servers and databases for each university. The setup relied on copied code and school-specific instances, which avoided scaling one database across every school at once. Seibel describes a similar shortcut at Justin.tv: making popular pages static during traffic spikes so the video could keep playing.
Caldwell contrasts Friendster’s expensive calculation of users’ extended networks with Myspace’s simpler labels for friends and extended connections. Seibel describes Imeem using video files and a Flash video player to play audio, and Twitch using a brief delay to distribute celebrity streams across enough video servers. These workarounds delivered useful features before the team built more complete systems.
Twitch reduced video delivery costs through free peering with internet providers, and blocked access for viewers whose provider would not peer, asking them to contact the ISP. The team also built a community translation site where volunteers translated product strings. Seibel says multiple translations could be compared, and the approach eventually translated the product without paying a translation company.
Seibel shares a secondhand account that Google’s web indexing batch process failed as the web grew, leaving search results stale for months. He says this pressure led to MapReduce, which broke crawling and indexing into parallel tasks. His closing advice is to launch, observe what breaks, and fix those problems; teams earn the opportunity to build scalable systems by first making something people want.
Takeaways
- Ask what delivers most of the benefit for a fraction of the effort.
- Add product features in response to what real users need next.
- Separate workloads or simplify features when one system cannot handle demand.
- Use community contributions when a paid solution is out of reach.
- Launch early, then prioritize fixes based on what actually breaks.
Mentioned in this talk
Search inside this talk
What was claimed 12
- builtPaul Buchheit built
Gmail
creator, original lead developer“he's known as the inventor of Gmail”
0:03inPaul BuchheitYouTube Verified11 sources· Talk, Web· archived
- featurePaul Buchheit: 90/10 solution: get 90% of the benefit for 10% of the work
“How can you get 90% of the benefit for 10% of the work?”
YouTube Unverified1 source· Talk
- feature
Gmail: Early access was limited through invites because server capacity was constrained.
“They didn’t have enough server space, so they had to build an invite system.”
YouTube Unverified1 source· Talk
- usesSeparate database server for each school in its early architecture
“They had a separate MySQL server for every school.”
YouTube Unverified1 source· Talk
- feature
Meta: Early code and database instances were separated by school.
“Completely separate database instances, and then have them talk to each other.”
YouTube Unverified1 source· Talk
- feature
Twitch: Could make a page static during traffic spikes so it could be cached while video and chat continued separately.
“We had a button that could make any page on Justin.tv static.”
YouTube Unverified1 source· Talk
- feature
Twitch: The website communicated audience size to the video system so it could pre-populate enough video servers before showing the stream.
“All the website has to do is communicate that information to the video system.”
YouTube Unverified1 source· Talk
- usesImeem uses
Runpod FlashPlayed music files encoded as FLV video with a Flash video player.“Every music file played on Imeem was actually a video file, an FLV back in the day.”
YouTube Unverified1 source· Talk







