To conclude my PhD I shall develop a solution that will enable/aid enabling an existing Web application to be modified in order for it to gain offline work for some of its functionality.
I've been developing a Common Lisp prototype with a Web Framework that allows just that, by gathering profiled information from online executions, and producing suggestions of interesting instances to a local server. These instances will be relevant enough for the user to work offline, since they are computed using heuristics applied to the current context and the profiled information.
Without further ado, you can grab the source code using the bzr repository found in https://code.launchpad.net/~edgar.goncalves/+junk/dshow
This project uses Ext for the visuals, and a set of lisp libraries to the server-side stuff. Take a look into the .asd files for more information (as things keep changing, it's easier to avoid outdated info.) The screenshot below was taken on the revision 35.
Note that the code is far from a final binary. In fact, it requires you to launch a couple of instances of a lisp interpreter (I've been using Clozure CL, and there may be some dependencies on it. The good news is that Clozure now runs pretty much everywhere, now. On one instance, you would load the :dshow asdf package. On the other, the :dshow-local. This way, you'll have a couple of servers to toy around. A testbed file is also included in the source with an example of some usecases, but you can extend/change whatever you may want. Just drive your browser to http://localhost:8666 (or whatever address:port combination you've set), and try it out.
Finally, if you're reading this, and contemplating giving it a shot, don't hesitate in contacting me for help or to discuss something.
If this prototype gets (interested followers OR a usable state OR a special requirement) I'll be glad to make it more easy to install, either with mudballs or asdf, and writing a tutorial to get you started more easily.