Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Making a Twitter clone that could handle 10 users is indeed quite trivial. Making one that would handle 0.4M+ users is not.


Not really. Twitter is really a very simple messaging system with messages being public.

If you take some pub sub like Kafka, Nats or RabbitMQ and bolt some code into it, it really is trivial. You scale by using Kubernetes for services and by sharding and replicating the DBs. It's really easy these days.

Maybe it was more complicated in 20 years ago.


This is pretty much like saying that Dropbox can be trivially replicated with rsync(1) or that one can code Uber in a weekend. Perhaps you can do so at small scale for yourself and your friends. The essence of Twitter (or Dropbox, or Uber) is indeed quite simple.

However there's orders of magnitude more effort that goes into:

* Usability

* Performance

* Stability

* Security

* Localisation/internationalisation and accounting for cultural differences

* Monetisation - ads, payment platform integration, fighting fraud

* Fighting abuse, both automated and not

* ... and thousands of little things that will come up when building something big.

Think of this another way... Twitter would not employ literally thousands of employees if there was nothing for them to do. It is not a charity. I don't buy that building anything that can handle hundred of millions of users is simple.


These are all valid points but none speak to GP's comment that the scale aspect is no longer as difficult to solve.


One can say that aforementioned classes of problems are semantically, conceptually different from scalability, but they will inevitably come up when building something the scale of Twitter and will require mountains of technical work to deal with.


Disagree. Back in 2006 it would have been really hard, but not in 2022. We’ve figured out all sorts of novel ways to scale platforms.

I’ll put it another way. Which job would you rather have? Build a scalable Twitter clone? Or operate the business and make money?

How do you make sure it’s not an epic cesspool? It’s not an engineering problem.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: