See https://www.grammarly.com/blog/engineering/deep-learning-swi... for more details - it's very similar to the architecture described by the FUTO folks.
One key difference is that the learned model does not decode in a context sensitive manner but does it a word at a time. The main reason is because we wanted to release this soon and wanted the user's personal dictionary (i.e. contact names, etc... to show up correctly when swiped). It would have been nice if we could have followed through with the context sensitive decoding as described by the FUTO folks. It would really help with accuracy when dealing with words like:
1. (food, good, hood) 2. (you, toy, rot) 3. (our, or, it) etc...
(Disclaimer: I am one of the authors of the Grammarly swipe system as described in the linked blog post).