Great read! I like the idea at the end of providing different experiences based on the client. I might give that a try on my own site.
I've seen vendor
Accept headers before, but never seen any detail on the format. Is the
application/vnd.*+json just a convention or is it standardized somewhere?