Great website, love the idea! One thing I still don't get is why exactly it is slow? How come you can pre-load some data, but not other? The first thing that comes to mind is caching, but I guess I am not understanding the problem correctly.
Side note: 2 weeks ago there was a hackathon at our university (Edinburgh) and in the Travel category one of the teams tried to do exactly the same thing. However, they only implemented the NLP part as they were using data via Skyscanner's API. Our entry[1] had a similar flavour, but rather than typing, one could select their cities and we did the planning for them.