The challenge was to create a Progressive Web App (PWA) that can load in less than 5 seconds. I was free to choose any framework/library as long as it’s usable via all modern browsers. The website consists of a homepage with latest feeds, an article view, and category filters.
I decided to go the JAMstack path using Gatsby.js. The basic PWA setup for Gatsby is to use
gatsby-plugin-offline, and further optimizations are done during the build process, such as image processing with Sharp, complete with lazyloading of image thumbnails with
I also use TypeScript, because it’s awesome.
To view the source code, click here.