Yeah, it's very possible! And I firmly believe that you would need to bring these features for broad adoption.
It would require a server and open source software. You dont need anything crazy for it.
Most of the software already exists. You only need to put them together.