Building a website on Cloudflare’s platform

I used the creation of my newest website (rochester.run) as an excuse to explore a new platform and built the entire site using Cloudflare’s stack.

The site is primarily built upon Cloudflare Pages which allow you to include html and css files directly to create a static website, or to build something more complex such as the react app that I am using. This serves as the frontend of the website and is more or less the same as developing a website on any platform.

Cloudflare Workers exist to allow you to build out a backend for a website. I used TypeScript to create the workers, but a number of different languages are supported. This allowed me to intercept a number of endpoints to be run on the backend and also allows a worker to be schedule by a cron job.

D1 is Cloudflare’s database offering and is mostly a thin client around an SQLite database. For my website I am using a number of basic tables for storing data but coming nowhere close to pushing the platform to it’s max.

For quicker data retrieval on the site I am storing some data as a json file in Cloudflare’s R2 which is modeled after AWS’s S3 storage.

Additionally Cloudflare offers an email service, but I ended up opting out of that due to the cost.

Overall I found Cloudflare to be a great platform to work on, and it will probably be my first choice for my next project.