This article is part of a series. Part I can be found here. The full code of this tutorial was posted on Github.