Interview with Kevin Cunningham on software development, teaching and headless WordPress

Hrishi Mittal

Hrishi Mittal

Today, I am interviewing Kevin Cunningham, a software developer, educator and author of the brand new book on Headless WordPress which launched on Learnetto this week.

This interview is part of the Learnetto Interview Series with interesting experts and teachers from all walks of life.

Please introduce yourself - who are you and what do you do?
Hi! I’m Kevin Cunningham. I run a digital prototyping agency called SpinUp, based in Brighton, England. 

We work on helping businesses test their ideas by building high fidelity prototypes to test with their clients and investors.

Alongside that, I teach web development though egghead, blogging, Twitter, streams and, most recently, writing books.
Away from the screen, I hang out with my wife and two boys. We try to get outside a lot but with lockdown that’s proved more and more challenging. We’re looking forward to getting back together with friends and getting out camping and adventuring soon.

How did you get into software development?
I have been programming since I was a kid. I was your typical computer and Maths geek.

I studied Maths and Theoretical Physics at university having been discouraged to go into computing by my secondary Maths teacher.

After I finished my degree in Belfast, I moved to Brighton to become a Maths teacher myself. I taught 11-18 year olds for 13 years, working in a variety of roles and schools in and around Brighton. 
Programming had been going on in the background as I made little apps for my students and worked with code for fun.

About 4 years ago, I took the plunge and transitioned from being a Maths teacher to being a web developer.

What got you interested in teaching?
I’ve always been teaching. I was tutoring at uni and then was a full-time teacher. When I switched careers, I wasn’t sure if those skills would be relevant or useful.

After a few years, I was missing it a lot. So, I coached a bit at Codebar, became an egghead instructor, blogged and, now, wrote this book.
What gets me excited about teaching is thinking about the impact that it can have on others. I can make mistakes that others don’t have to.

I can learn things and share them in ways that are useful to other people.

What differences have you noticed between teaching online and teaching in-person?
When teaching in person you can read a room or individual. You can do that somewhat with video calls, responding to quizzical glances or unsure expressions.

With pre-recorded video and text tutorials you are guessing more about what people don’t know. You can’t react to the person in front of you. So you find yourself posing and answering questions yourself.

Tell us about your experience with WordPress.
My first professional development was with a PHP Content Management System called Drupal. WordPress has been in the background for the past 20 years as I’ve helped to support my wife and friends. Setting up and debugging web-servers and getting themes up and running. 
More recently, I’ve worked with Sega to develop a WordPress/Gatsby solution for them.

It’s one of the options we offer to our clients as we think through the solutions that are going to work for them.

I enjoy dipping into the PHP and the JavaScript side of the system, building plugins and themes.

What do you like about WordPress?
I like that WordPress is well known. I like that it has such a well developed plugin ecosystem that means you can often find a solution for any problem.

I like how easy it is to get up and running, how most ISPs have a one-click WordPress install. I feel like it has a low barrier to entry to have a robust and reliable way to manage content.

What's Headless WordPress?
WordPress is a big piece of software. It is a way to create your content, manage your posts, create images and schedule releases. Do all of those admin-y bits.

It also provides the mechanisms for people to be able to view that content. WordPress then provides the back-end and the front-end. 
Headless WordPress says what if we don’t use the native WordPress solution for the frontend?

So, we keep all the amazing functionality and capability of the back-end (creating, editing, curating) and we make that content available through an API. This could be either RESTful or using GraphQL.

Then, on the front-end, we can use any tool that can consume data from an API and render it. So, that could be a React framework, it could be Vue, it could be Svelte - anything that can take content and build it.

That way, you have more flexibility to change the frontend and experiment. The data stays consistent but the presentation changes.

Why is it a good choice for a CMS?
There are a lot of paid headless CMS solutions out there. Mostly, they are very good.

What is true with most software, is that it fills 80% of what you need but you need to bend it to be able to fill that last 20% of your use case. This is sometimes referred to as the Pareto principle. With those paid solutions, these adaptations are challenging.
With WordPress, you’re in complete control of how your API works and how it responds to requests. It provides reliability and flexibility in almost unparalleled ways.

All while being free and open source. I love it!

Tell us about your new book.
So my new book, Off With Your Head!, is a guide to get up and running with headless WordPress.

In fact, just a vanilla install of WordPress makes a RESTful API available out of the box. But, in the book, I talk about how you can modify that API and make it present data the way you want. Add new endpoints and manipulate the data before it gets to the frontend.
Also, I look at how you can set up WordPress as a GraphQL solution. How you can provide for all of your website needs from one consistent datastore.

Where can people connect with you and follow all your work?

I’m on Twitter as @dolearning, I’m an instructor at, I blog at and send out a weekly newsletter that you can signup for at

Feel free to reach out and connect with me - I love that!

Liked this post? Get more like this in your inbox