I think this is pretty much the same question that was discussed a couple of weeks ago. Worth a read, https://news.ycombinator.com/item?id=29139813
For anyone else who reads that thread -- the good links and suggestions are near the bottom of the thread.