Create good problems to have. You want to build easy things with obvious shortcomings that create problems at scale. Good problems to have are good problems to solve… later.
This may seem counterintuitive, it may even seem… immoral, but it works. It’s a corollary to Gall’s Law:
A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
What makes a problem good to have? A good problem to have is a problem that emerges after the flywheel is already spinning. It emerges at scale, under rapid growth. Since the flywheel is already spinning, the momentum of the flywheel can be turned toward solving the problem. A rapidly growing ecosystem will be intrinsically motivated to solve obvious problems of scale.
Examples of good problems to have:
Running out of IP addresses (incentivized the invention of NAT)
Spam and moderation problems (incentivizes the emergence of an “immune system” that co-evolves with actual nth-order moderation issues, rather than imagined issues)
Nostr’s key rotation problem (incentivizes the community to work together on solutions, NIP26 and NIP103)
A bad problem to have is a problem you face before you have a product, before you have PMF, before you have growth, before you have a community, before you have any momentum.
Don’t build “perfect” technology. Teams that try to build perfect technology fail for three reasons:
You increase your cold start problem, front-loading all the work and risk before you’ve tested your hypothesis, and before you have ecosystem momentum.
You don’t actually have the resources to solve the problem without an ecosystem flywheel behind you.
You can’t actually anticipate the nth-order problems of scale.
In short, when you try to build “perfect” technology, you turn good problems to have into bad problems to have.
“Perfect” technology tries to anticipate 10-steps ahead. This kind of feed-forward thinking fails in the face of complex adaptive systems, such as social networks, where nonlinear effects are the rule, not the exception.
A process cannot be understood by stopping it. Understanding must move with the flow of the process, must join it and flow with it.
(First Law of Mentat, from Dune by Frank Herbert)
Creating good problems to have forces you to co-evolve with your community. It creates obvious low-hanging fruit for others to come join and solve once there is obvious traction and interest.