This document discusses synchronizing application state across devices using virtual DOM trees. It introduces liquid applications which allow transferring an application between devices. The state of an application includes both JavaScript variables and the DOM tree. Modern frameworks use a virtual DOM to represent the real DOM tree. The proof of concept presented serializes the initial DOM state and uses a virtual DOM library to generate operations to synchronize the current state. It provides APIs for developers to minimize implementation needs and register dynamic functions to transfer between devices. Examples of a todo list application demonstrate the concepts.