Building Blocks of a Smart City