There are certainly a bunch of re-usable components here.
All the hooks for read/writing from chain need to get ripped out and replaced with w/e database.
There is an opportunity for some nice abstraction over the backend so that the frontend logic / rendering can be pretty much agnostic.