non-centralized web applications and a system for putting them together