GraphQL comes with its own set of headaches though, especially if you're the person responsible for implementing the server.
Plus, if you're using something like Remix, you don't need an API layer anymore. The data goes from the query straight into the view.