Behind My New Website: Why I Rebuilt It with Cloudflare Pages, GitHub and Atlas

Over the last few weeks, a few people have commented on my new website, the refreshed branding, and of course… Atlas.

Rather than just talking about the finished product, I thought it would be interesting to explain how it all hangs together behind the scenes.

This wasn’t simply a redesign.

It was an opportunity to rethink how I wanted my website to work, how I wanted to publish content, and ultimately how I wanted it to represent me as both an architect and a consultant.

Why I Moved Away from WordPress

First of all, this isn’t a post about why WordPress is bad.

Far from it.

My photography website, andykemp.photography, is still built on WordPress and I have no plans to move it. It’s a fantastic platform and for many websites it’s absolutely the right choice.

My consultancy website, however, had reached a point where it no longer reflected how I like to build things.

It worked.

It looked professional.

But it also felt…

…safe.

Blue accents.

Corporate styling.

A traditional CMS.

Plugins.

Themes.

An admin portal.

It felt a little too “Microsoft” and a little too much like every other technology website.

I wanted something that felt more personal, more technical, and more representative of how I actually work.

The Conversation That Started It All

Around this time I had a conversation with James Agombar about his own website.

We talked about why he’d moved away from a traditional CMS and what had driven him to rebuild it in a completely different way.

That conversation genuinely got me thinking.

Not because I wanted to copy what James had built, but because it made me question whether my own website still reflected who I am.

Sometimes all it takes is one conversation to challenge your thinking.

Thanks James.

Could I Have Done This in WordPress?

Absolutely.

Everything you’ve seen on my new website could have been built using WordPress.

Would it have worked?

Without question.

Would it have been as enjoyable to build?

I’m honestly not sure.

For me, the process of building the platform has been every bit as enjoyable as writing the content that sits on it.

As consultants and architects we’re always telling customers to choose the right platform for their requirements.

Eventually I realised I should probably take my own advice.

Looking at the Architecture

Once I started thinking about the website as an architecture rather than simply a blog, the decision became much easier.

Almost everything I already use lives within the Cloudflare ecosystem.

My domains are managed through Cloudflare.

DNS already lives there.

I was already experimenting with Cloudflare Pages for a number of smaller projects.

GitHub is where I naturally work every day.

So I started asking myself…

Why not build my website the same way?

That question ultimately became this project.

Not Quite a Blogging Platform…

Of course, Cloudflare Pages and GitHub aren’t blogging platforms.

There’s no “New Post” button.

No admin portal.

No visual editor.

No media library.

No publishing workflow.

Instead, I had to build those pieces myself.

And honestly…

That was the fun part.

Building My Own CMS

Behind the scenes sits a custom blogging platform built specifically for the way I work.

Authentication is handled using Microsoft Entra ID.

Access is protected using passkeys.

After authentication, the application securely connects to a private GitHub repository using OAuth.

Every blog post is stored as Markdown.

Publishing an article simply creates or updates files within GitHub.

Once committed, Cloudflare Pages automatically builds and deploys the website globally.

The entire publishing process is effectively driven by Git.

There’s no database.

No server to maintain.

No WordPress updates.

No plugins to patch.

Just content.

Keeping Secrets Out of Source Control

One of the things I wanted to get right from the beginning was keeping configuration separate from code.

OAuth client IDs.

Secrets.

Analytics configuration.

API keys.

Contact details.

Deployment settings.

None of these belong in a public repository.

Instead, Cloudflare Pages injects everything required during deployment using environment variables.

The repository remains clean while each deployment receives exactly the configuration it needs.

It’s a simple idea, but one that makes the entire platform far easier to manage.

Why Markdown?

Every article on this website starts life as Markdown.

Simple.

Portable.

Readable.

Version controlled.

If you’ve ever worked with technical documentation, Markdown just feels natural.

There’s no fighting formatting.

No hidden HTML.

No copying content between editors.

Just writing.

Which is exactly what I wanted.

More Than Just a Website

This project ended up becoming much more than a new website.

It became an excuse to learn.

To experiment.

To build.

To automate.

Every component became another opportunity to explore a technology I hadn’t used before.

OAuth.

Cloudflare Workers.

Cloudflare Pages.

GitHub Actions.

Environment variables.

Static site generation.

Identity-first authentication.

It’s exactly the sort of project I enjoy working on.

A New Brand

Alongside rebuilding the platform, I also wanted to rethink the visual identity.

The old branding served me well, but it felt very corporate.

This new identity feels much closer to who I am today.

The darker colour palette.

The copper accents.

The cleaner layouts.

Everything has been designed to feel modern without being flashy.

Professional without feeling cold.

Technical without becoming overwhelming.

Meet Atlas

Then there’s Atlas.

Atlas isn’t just a mascot.

He’s become part of the identity behind Andy Kemp Consulting.

For me, Atlas represents something much bigger.

Quiet confidence.

Curiosity.

Engineering.

Problem solving.

Always exploring.

Always learning.

Always helping navigate complexity.

That’s exactly how I approach consulting.

Technology is often incredibly complicated.

My job is to simplify it.

If Atlas helps reinforce that idea, then he’s doing exactly what he was designed to do.

Strategic. Secure. Simplified.

The new tagline also wasn’t chosen by accident.

Strategic because good technology starts with good architecture.

Secure because identity and security should never be afterthoughts.

Simplified because even the most complex environments should feel straightforward for the people using them.

That philosophy runs through everything I build.

Whether that’s a Microsoft 365 tenant…

A Zero Trust architecture…

Or simply my own website.

What’s Next?

The website will continue to evolve.

There are plenty of features I’d still like to build.

The CMS will continue to grow.

Atlas will probably appear in a few more places.

And I’ll keep documenting what I learn along the way.

Most importantly though, the website has finally become something that feels like mine.

Not because it’s different.

But because it reflects how I think, how I work, and how I enjoy building technology.

If you’ve made it this far, thank you for reading.

Hopefully you’ve enjoyed seeing a little of what’s happening behind the scenes.

Now… it’s probably time I went and wrote the next blog post.