Not OP and I don&#x27;t have any resources for you, but I spent a while playing around with Polymer in the very early (0.3) stages, and was one of the first internal Google customers for them.<p>I found that once you have web components, there&#x27;s nothing stopping you from representing your entire webapp&#x27;s UI in terms of semantic elements <i>only</i>.  For example, a HN comment thread could look something like this:<p><pre><code>  &lt;hn-thread 
     title=&quot;Ask HN: What are the cons of Google Polymer?&quot;
     votes=&quot;47&quot;
     comments=&quot;46&quot;
     posted=&quot;20160509T12:12:00&quot;&gt;
    &lt;hn-comment author=&quot;sshumaker&quot; posted=&quot;20160509T14:12:00&quot;&gt;
      Disclaimer: I led development of gaming.youtube.com...
      &lt;hn-comment author=&quot;justjco&quot; posted=&quot;20160509T14:40:00&quot;&gt;
        I found you don&#x27;t really need Redux if you follow the &quot;DOM is your API&quot; paradigm....
        &lt;hn-comment ...&gt;&lt;&#x2F;hn-comment&gt;
      &lt;&#x2F;hn-comment&gt;
      &lt;hn-comment author=&quot;torgoguys&quot; posted=&quot;20160509T14:56:00&quot;&gt;
       You answered the question asked, but I&#x27;m also curious as to what you liked about it for that project.
      &lt;&#x2F;hn-comment&gt;
    &lt;&#x2F;hn-comment&gt;
  &lt;&#x2F;hn-thread&gt;
</code></pre>
All of the details about how to present a &lt;hn-thread&gt; or &lt;hn-comment&gt; are encapsulated in the definition of the custom element, and you only specify the data that changes between each one.  Similarly, you could define methods on &lt;hn-comment&gt; that pop up a comment box when you hit &quot;reply&quot;, for example, and this also drops out of the light DOM tree.<p>When you do it this way, your DOM becomes basically isomorphic to what you would write in your Redux state or send in a JSON response.  You could, in fact, write a trivial helper to convert between JSON and DOM, but there isn&#x27;t really a need when you could just send HTML down the wire.