Building Data-driven Applications