Building blocks for web apps