- to use Postgres JSON columns for storing documents (rather than the typical CMS approach of a complex EAV/table-per-field structure), and
- to use React components for rendering the public-facing content views, which could then also be used for inline editing or a live split preview/editor – like a markdown editor, but capable of turning arbitrary fields of input into arbitrary output
- embeddable content types/entities which know how to render themselves
- live collaborative editing
EDIT: To put it another way, I would expect a server to NOT BE NECESSARY for the client to work, just like clients aren't necessary for the server to function correctly.
The approach I'm taking is that each page is a composed component using data files (json, yaml and js/coffee for dynamic data) to provide the state, js/coffee mixin files to provide the logic and js/jsx/coffee/cjsx files to render the body content.
Its working now but I need to generate the documentation and built some better example sites.