Initial version with Polymer, pretty rough so far