We propose an execution model for web apps that eschews the current need for static partitioning of web apps into client-side JavaScript and server-side "data center" code, but rather enables dynamic partitioning by allowing the client and server to share code and migrate computation between each other. Our model abstracts and represents shared code and data as a graph of fixed-sized chunks; our runtime then manages and migrates the graph rather than managing the code and its dependencies directly. We demonstrate our model through PhotoBoss, a suite of web apps for editing high-resolution photos.