By 2014 Hacker News's HTML had become a fragile foundation for a large ecosystem: many third-party apps and projects scraped the site's markup to read its stories and comments, and the markup was far from mobile-friendly. Y Combinator wanted to modernize the front end and iterate faster on it, but a naive change to the HTML would have broken every scraper-dependent tool at once.

YC's move was to release the data as a product of its own before touching the presentation. On October 7, 2014 it announced an official Hacker News API built in partnership with Firebase (YC S11), serving the site's content near real time at hacker-news.firebaseio.com, with documentation and examples published on a Hacker News GitHub account. Firebase's out-of-the-box iOS, Android and Web SDKs plus a REST API let developers switch without rebuilding their stacks.

The sequencing was the point: the announcement gave the ecosystem three weeks of runway before YC's goal date of October 28 for a new rendering engine, still powered by Arc, whose cleaner markup would let the front end iterate faster and finally make Hacker News mobile optimized. Because the API was strictly better than scraping for most uses — near-real-time updates, maintained SDKs, no fragile HTML parsing — converting was an upgrade rather than a chore, and the site could change its presentation without holding its users hostage.

The move read as ecosystem stewardship: the Hacker News thread drew 1,714 points and 298 comments the same day. The API launched read-only, with OAuth access to private per-user data planned later, and YC credited its software team — kogir, dang and sctb — with building it.

Release the data contract first: an official near-real-time API that is strictly easier than scraping, with notice before the breaking change

Decoupling data from presentation means the front end can change without breaking anyone who consumes the content.

Near-real-time Firebase sync with maintained SDKs made the API strictly easier than scraping, so adoption was voluntary migration rather than forced conversion.

Announcing a fixed three-week runway before the markup change gave every app a deadline and a reason to move early.

Keeping the same Arc engine while changing only the output markup reduced the risk that the API and the site would drift apart.

To change a platform others build on, extract the data contract first, make it strictly better than the hack it replaces, and publish the breaking-change date so users migrate on their own.

The API went live the same day at hacker-news.firebaseio.com, read-only, with official iOS, Android and Web SDKs plus a REST API, and YC said OAuth access to private per-user data might follow. The Hacker News announcement drew 1,714 points and 298 comments on October 7, 2014. The post set October 28 as the target for switching to the new rendering engine so the markup could be modernized and mobile-optimized once the ecosystem had time to convert — the API was framed as the enabler of that change rather than an end in itself.

FOLLOW THE EVIDENCE

The sources

  1. Hacker News API blog.ycombinator.com
  2. Hacker News discussion: Hacker News API news.ycombinator.com