 <p><a href="https://github.com/raptorjs/marko" rel="nofollow">Marko</a> does exactly what you are looking for: </p> <p>It offers 3 key features that enable progressive rendering:</p> <ol> <li>Streamed Template Rendering - So your html is sent early and the buffers are cleared often</li> <li>Async Rendering of html fragments - Marko will manage the waiting, buffering and eventual rendering</li> <li>Out of order rendering - Marko will optionally send template data as soon as it is available from api calls or db queries, then it will re-order the html on the client side</li> </ol> <p>I just did a screencast on Marko that you might find helpful:</p> <p><a href="http://knowthen.com/episode-8-serving-content-in-koajs-with-marko/" rel="nofollow">http://knowthen.com/episode-8-serving-content-in-koajs-with-marko/</a></p>