On page 41 in the basic example section of the progressive enhancement chapter, you have the initial custom element binding like this: but the array you pass in the main.js is named 'productData', so doesn't get bound to 'products' as it is looking for 'myData'.
From a reader: