5 ms·
Question I have for HN is if you had a weekend to create a Pinterest competitor for a hackathon that needed to scale to the same number of users, what would you
by mentos 3y ago
Question I have for HN is if you had a weekend to create a Pinterest competitor for a hackathon that needed to scale to the same number of users, what would you use?
- tim333 3y ago10k users or 11 million?
- christophilus 3y agoWhatever I knew best. Node, Go, .NET, and Postgres in my case. Those can all handle a lot of load if properly engineered and adequately provisioned. Redis or some other caching layer might come into play if the scale really warranted it, but it certainly wouldn’t for a hackathon project.
- maccard 3y agoCompletely agree - go + myself + redis would be my go-to here. I'm of the camp that the minute you think you'll need redis, use redis. It's much easier to manage and deal with when you can turn it off than when you can't.
- pacifika 3y agoYou can’t create a Pinterest competitor in a weekend. Or the answer is enough money to purchase Pinterest.
- maccard 3y agoWhatever you know best. The tech stack is irrelevant. Assuming 11m MAU, we can finger wave to 200k peak active users. That's handleable on small hardware even if you use express. The hard part is finding 11 million users.
- qingcharles 3y agoI think everyone will answer this with their current stack-of-choice. If you have a hammer, you see every problem as a nail. I'd use .NET Razor pages, Dapper, Postgres, Kestrel on Linux? What's amazing is that 14 years later and the major browsers are still hoarding the Pinterest masonry layout behind a flag! https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout/Masonry_layout https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_la...
- emmanueloga_ 3y agoThere are a few distributed databases available now: PostgreSQL -> CockroachDB, MySQL -> TiDB or Vitess/Planetscale, DynamoDB -> ScyllaDB, so it sounds sensible to start with any of these, maybe even the hosted versions, then move to self hosted when necessary.