A Coursera course project (CS184 taught by Prof. Balaji S. Srinivasan)