If anything, the DB version will make users further dependent upon commercial sync options, as only heavy-clients (desktop, native apps) will be able to synchronize database state. There is no reason to think that having a database as a persistent store will entail or prompt the creation of an API layer. All of the calls to the database can be internalized in back-end Clojure code.