Joe's Groceries is a single page JavaScript web application designed as an experiment: to implement javascript modules and closures, to maintain object state for non-private user data through use of the browser's localStorage object, to create a data cache with js closures, to implement responsive web design, an opportunity to experiment with the Apache Cordova Mobile Framework to create an Android .apk and iOS .ipa, and to practice implementing interstitial and rewarded ads through Google AdMob embedded into an HTML5 application, and finally to create a SPA with the inclusion of calls to a 3rd party API using fetch(), try...catch, and then().