I created this project to figure out how I can use Wagtail as a headless CMS for a static website build with Gatsby. The backend makes use of Wagtail-Grapple to create the GraphQL endpoint. The GraphQL endpoint is consumed on the frontend with the help of the gatsby-source-wagtail plugin.
I have also implemented a few features on the frontend that are not typically provided by the Wagtail-Grapple and gatsby-source-wagtail combination. For example, the GraphQL schema on the backend is extended to include page tags. The frontend Gatsby build is extended to create index pages for each of the tags and a index of all tags. I have also added a function to the build that downloads documents (like PDFs) from the Wagtail backend and includes them in the build. This allows the documents to be served with the frontend from a CDN.