About this site

This is a Jamstack app using NextJS, generated and hosted by Cloudflare.

This means it's a hybrid Static Site hosted on Cloudflare CDN and uses Cloudflare Workers to run business logic in the cloud.

It utilises Cloudflare's vast network of data centers, making it pretty quick for a free site!

Pushes to GitHub trigger a build in Cloudflare, where NextJS converts Markdown documents (like this one) into web pages.

Messages Page

The /messages page demonstrates a simple use case of using cloud functions to process requests to a data store, giving this statically generated site some dynamic capabilities.

Redux is used to fetch, send, and store user-submitted messages. Cloudflare Workers handle GET/POST requests and connect to a Cloudflare KV - a highly distributed key-value store.

Messages have a designated date-time where they expire and are removed from the store.

Page Background

The background is an implementation of Conway's Game of Life on an HTML Canvas.

When the page loads, an initial state is generated at random. You can affect the state by clicking on a cell to toggle it.

Dependencies

The following are pulled from the package.json's dependencies & devDependencies at build-time: