Vegard Harper

Migrating the Blog to Cloudflare Pages and Remix

This autumn, I have spent a lot of time considering migrating my blog to a new platform and tech stack. Some of the main reasons for this are my desire to learn more about self-hosting applications, networking, and security. During this process, I watched numerous videos about self-hosting and various tech stacks for hosting web pages.

My old tech stack included Next.js, MDX, Tailwind CSS, and Vercel.

Over the year, I've noticed several changes in Next.js and Vercel that I find unnecessarily complicated. These include:

  1. The Next.js app-router.
  2. The caching mechanism of Vercel and Next.js and all its complexities.
  3. Vercel's push for a paid plan at every level of their platform.
  4. A hobby project, betteratcooking, facing timeout issues. Generating images with OpenAI is timing out due to the 15-second limit.

While pondering different self-hosting options and exploring how to protect my network and server, I came across Cloudflare. I had heard about Cloudflare before but never really used it, and I became very curious about their offerings, including various solutions. Investigating Cloudflare led me to explore using Deno and Denoflare, creating APIs with Kotlin and Ktor, and the idea of using Remix for my blog.

However, the one idea that has consistently occupied my mind during this process is using Cloudflare Pages to host my blog.