I'm very much into systems thinking. My only beef with it would be the use of Pagerank algorithm but it's not a bad start. Certainly better than most of whatever else is out there. But... it suffers from a common problem many of these systems have. They're not crash-proof. In systems that are tightly integrated like this, failure in one part of the system can lead into cascade failure. Concurrent processes must be fully independent so that a failure of one process does not interfere with other concurrent processes.