Very interesting that you've used Cordova. For a simple chat-based app that approach makes a lot of sense as you can push updates any time. Would you be able to share any chat-ui cordova libraries you've used or anything helpful in that regard? Or was it all custom built? Would you choose cordova if you were building the same app now or is there something else you'd consider using?
Also: your ruby DSL sounds interesting. Do you push the entire json syntax tree to the client? Chatbot platforms typically work by sending a user's chat message to a server then responding... so I'm interested how you've found doing things locally with a json syntax tree (assuming that's what you meant) and what were the pros/cons/trade-offs of that approach?