I went with sequelize/graphql-express over Apollo for a few reasons. For the backend DB, I really wanted a SQL DB as the client wanted to be able to write reports and query it at a later point. I suppose SlamData would work, but that’s a fair bit of work for a small client. I’ve also had some bad experiences with MongoDB, especially operationally, though that was at scale. In general I prefer Postgres and if I really need something scalable, prefer Aerospike or Couch[DB|base]. Finally, I wanted to be able to back away from GraphQL if it didn’t work out.
I also find that GraphQL servers, mine included, have a pretty broad attack surface. See: http://stackoverflow.com/questions/37337466/how-do-you-prevent-nested-attack-on-graphql-apollo-server. I’d definitely be interested in tooling around that which would lean me towards Apollo for more serious work.
[Aside: I’m super excited about the direction relay 2 is taking (https://www.youtube.com/watch?v=OEfUBN9dAI8): extending graphql in some pretty awesome ways. Those extensions may fight the language and force a new GraphQL version though. ]