First component: A web server that speaks JSON