I think that bit would be easy; but I'd probably cheat. You don't need to understand the context of the clues. You just need a big enough wordlist to brute force with. Start with the longest words since they will have the least options.
I'll bet you could scrape all the previously used words/phrases from the last 100 years of NYTimes, etc to get things rolling.
I'll bet you could scrape all the previously used words/phrases from the last 100 years of NYTimes, etc to get things rolling.