What's interesting is that the next Uber may be created by somebody naive about the effort it will take. Being naive can be an advantage in this case. Sometimes people who KNOW the effort are discouraged and never try. And it's the guy who is clueless who ends up embarking on the quest.
* redis - I can do it, listen socket, serve from hashmap
* uber - how come this app is so huge, I can make it in 2 weekends (google map + api + database)
* cURL - easy, use my fancy library (it already implements HTTP stack) and rewrite it
....