How to make a distributed and composable web user interface.