I've been using AppSync for about 4 months on a project for work and it's mostly been positive once you get your head wrapped around resolver mapping. I've also incorporated serverless-appsync for deployment which makes it much nicer than the built-in UI.