Thanks! I haven't used a plain JS backend with it myself, but I think that would work well (the majority of Biff is backend code anyway). I haven't exposed a JS api, but doing so should be pretty easy. All of Biff's frontend code is in the biff.client namespace, and the only function you need is biff.client/init-sub [1], which takes:
- an atom, the contents of which describe what data you're subscribing to
- another atom, which is populated with the results of your subscriptions
- a function for handling server-sent websocket events (if your app uses any)
and it returns a function for sending websocket events to the server (which is used for sending transactions + any custom events you define).
[1] https://github.com/jacobobryant/biff/blob/98ad188924bee9121d...