Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    P

    Pinterest Engineering

    medium.com/@pinterest_engineering · Company blog · on HN since 2017

    Pinterest's engineering team writes on Medium about scaling MySQL, Kafka streams, containers, PWAs, and build tooling.

    Visit blogHN submissions
    DatabasesSystems & PerformanceDevOps & Cloud
    What HN says

    HN commenters praise it as one of the best engineering blogs, and link its MySQL sharding and 'love MySQL' posts.

    Stats for nerds
    70HN people shared it
    73linked in comments
    664story points
    May 2026last shared
    2017people per year2026

    Top posts on HN

    1. 1
      Three-day no-meeting schedule for engineers
      2 people · 267 points · first shared 2018 · 186 comments on HN
    2. 2
      The case against Kotlin
      1 person · 142 points · first shared 2017 · 105 comments on HN
    3. 3
      User retention at Pinterest: tackling an ambiguous problem
      1 person · 43 points · first shared 2018 · 31 comments on HN
    4. 4
      Sharding Pinterest: How we scaled our MySQL fleet (2015)
      4 people · 38 points · first shared 2017 · 9 comments on HN
    5. 5
      Introducing Bonsai: an open source Webpack analyzer
      3 people · 17 points · first shared 2017 · Discussion on HN
    6. 6
      Anything Java can do Kotlin can do better
      1 person · 15 points · first shared 2017 · 3 comments on HN
    7. 7
      Introducing Plank: Immutable model generation for iOS
      2 people · 11 points · first shared 2017 · Discussion on HN
    8. 8
      Using Kafka's Streams API for Real-Time, Predictive Ad Computations at Pinterest
      3 people · 10 points · first shared 2017 · Discussion on HN
    9. 9
      API Profiling at Pinterest
      1 person · 9 points · first shared 2018 · Discussion on HN
    10. 10
      How Pinterest runs Kafka at scale
      1 person · 9 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • tunaofthelandMay 2018

      My take on this is that React Native works fine for content-dominant (media, text) apps but maybe not for UI interaction-dominant (arcade games, heavy animations, gestures) ones. You share a very similar API (React) and possibly the business logic between web and mobile. Your project could get bogged down by many little details and idiosyncrasies of React Native so a clear scope and discipline is important.

      One example is a Bluetooth-enabled iOS/Android app that I made (but did not publish to app stores). I was able to use a RN library for Bluetooth communication and interact with another device (a bathroom scale) in JavaScript. It was one of those "Wow, this is cool!" and "Man, this is pain!" moments. Note that I did not use create-react-native-app/Expo for this.

      Another app, also iOS and Android, simply renders the content of my wife's Etsy store, including the pictures (published to both Apple and Google Play stores). It was done using create-react-native-app/Expo. I didn't like the dependence on the Expo site for building app packages. It's free and there for now but I'll have to "eject" the app in the future if the something were to happen to the site. I used an open-source RN components library which does a good job selecting default typefaces and sizes. There were still fiddly bits I had to poke at to make it look decent, but it was alright for something that I whipped up as quickly as I could. The documentation for the component library was not keeping up with the…

    • ecesenaAug 2018

      I built the one at Theneeds.com and, if you're interested, this is the one at Pinterest [1].

      At Theneeds we were recommending news = fresh content based on user's interest and other features. Because the content is fresh, you can't easily have enough data for a proper collaborative system.

      Our algo was essentially the Reddit algo, where a piece of content gets a rank based on time and log of score. Score in Reddit is the upvotes - downvotes. At Theneeds we had a more complex score including social signals (likes on fb / RT on tw) so we could compute a meaningful score also without a big community of users. The other difference wrt Reddit was having different scores and different paces (multipliers) based on categories of content, so for example news in tech and politics from newspapers were updating faster than news on travel from magazines. And by normalizing the ranks, you can merge multiple categories in one -- a feature that I think Reddit also added.

      As for the code/stack, custom written in python. We were using Redis to cache user timelines using sorted sets (including the guest users, i.e. the default top news for each category). In Redis, you can merge sorted sets, and we used it as an efficient way to create the new timeline when a new user was signing up.

      [1] https://medium.com/@Pinterest_Engineering/introducing-pixie-an-advanced-graph-based-recommendation-system-e7b4229b664b

      Edit: added more details about tech.

    • ryanatorJul 2017

      Hi, I wrote this article.

      Some context I think might not have made it to the Hacker News readers. We use Kotlin at Pinterest, we were one of the two teams talking about the value of Kotlin when google announced support at IO https://www.youtube.com/watch?v=fPzxfeDJDzY.

      The article is meant to show the reasons we considered not to use it. The language is very similar to Java and we've written some about how even "the grumpy java developer" can learn it https://medium.com/@Pinterest_Engineering/kotlin-for-grumpy-java-developers-8e90875cb6ab.

      We don't expect to be able to hire Android engineers that are familiar with Kotlin to the level of expertise we expect with Java. We do expect everyone to be able to work with any part of the Android code base and not be guessing at how of the concepts many android devs aren't familiar with work. If you don't consider the time for engineers to learn this, you are not considering some of the cost of adopting. If you think it's not that big of a deal, then go for it, we did.

    • xg15Jan 2018

      Not the US. If I open any link to a pin or try to browse a list, I get this: https://i.imgur.com/MQUoa2N.png

      Note the lack of an [X] button. This popup is both modal and non-dismissable, so you can't even click on links to other unauth areas. For non-technical users, the literal only options are signing up or closing the tab.

      It's not really a secret either. They wrote detailed posts on their tech blog about both the invention of the non-dismissable modal popup [1] and the descision to make the image the user was looking for less obvious compared to recommended content [2].

      [1] https://medium.com/@Pinterest_Engineering/lessons-in-growth-and-increasing-signups-d6e7d8fef479
      [2] https://medium.com/@Pinterest_Engineering/lessons-in-growth-engineering-how-we-doubled-sign-ups-from-pin-landing-pages-1c0bc400cdb9

    • firasdSep 2017

      Do you have FULLTEXT indexes on those rows? I find it hard to believe that searching something like e.g. a fragment of text in Youtube comments can be as fast in a SQL system (even in RAM) as in Elasticsearch.

      As for the other stuff I mentioned (recommendations, etc.) I'm not just basing it on my personal experience--here's a write-up from Pinterest about having to dump all their MySQL data to Hadoop to drive various types of analysis. I doubt they would do it it if just putting the SQL DBs in RAM was adequate! https://medium.com/@Pinterest_Engineering/tracker-ingesting-mysql-data-at-scale-part-1-424cf43fa7c3

    • anthony_doanAug 2019

      They do? They should actually talk about it on their tech blog (https://medium.com/@Pinterest_Engineering). I couldn't find it other then third party post talking about them using it (https://prograils.com/posts/why-discord-pinterest-moz-bleacher-report-use-elixir-case-studies).

      Even their github https://github.com/pinterest, elixir isn't even in their top programming languages.

      It could be the secret sauce language kind of deal. Or they've moved away from it.

      It is a pleasure to see you outside of elixirforum.

    Related

    Uber Engineering Blogeng.uber.com525 people

    Why Uber Engineering Switched from Postgres to MySQL

    Uber Engineering Blog
    Company · last shared 2025
    Facebook Engineeringcode.facebook.com552 people

    Relicensing React, Jest, Flow, and Immutable.js

    Facebook Engineering
    Company · last shared 2021
    Airbnb Engineeringnerds.airbnb.com110 people

    We've Open-sourced Rendr

    Airbnb Engineering
    Company · last shared 2017
    Figma Blogfigma.com608 people

    How to build a plugin system on the web and also sleep well at night

    Figma Blog
    Company · last shared 2026
    LinkedIn Engineeringengineering.linkedin.com415 people

    LinkedIn Intro: Doing the Impossible on iOS

    LinkedIn Engineering
    Company · last shared 2025
    High Scalabilityhighscalability.com922 people

    A Beginner's Guide to Scaling to 11M+ Users on Amazon's AWS

    High Scalability
    Publication · last shared 2026
    Engineering at Metaengineering.fb.com657 people

    Sapling: A new source control system with Git-compatible client

    Engineering at Meta
    Company · last shared 2026
    Twitter Engineering Blogengineering.twitter.com121 people

    Twitter Rolls Twitter.com Back to a Server-Side Architecture

    Twitter Engineering Blog
    Company · last shared 2017