Pricing freelance projects - an interview with Tom Hirst

Tom Hirst - freelance web developer

I'm excited to share the an interview with self-taught web developer Tom Hirst! Tom now makes six figures as a freelance Wordpress developer.

We discussed lots of topics including:

• learning to code

• pricing freelance projects

• Wordpress and JavaScript and headless CMS

• The benefits of building an audience as a developer

Tom is also the author of Pricing Freelance Projects , The Personal Website Playboook and Writing Tweets Daily (affiliate links) which you can check out on Gumroad.

The transcript for this is below but feel free to listen to this interview on the podcast or watch it on YouTube.

Pete: Welcome to No CS Degree - this is the show where I talk to developers who are self taught or have been to coding bootcamps and it's where I find out how they've become successful.

I'm joined today by Tom Hirst, a freelance wordpress developer who now makes a six figure income. We'll be going over how Tom learned to code, his tips for finding freelance clients, how to price projects and the future of Wordpress as a headless CMS.

(Sponsor message)

Pete: So welcome to the show, Tom.

Tom: Thanks for having me, Pete. I'm glad to be here.

Pete: Yeah, no worries, man.

So first of all, can you tell us a bit about like where you're from?

Tom: Yeah, sure. So I'm originally from a small town in the UK called Barnsley. Um, I live in Wakefield now, which is about 10 minutes away from Leeds.

I've just built this freelance business on myself, you know, not really with local clients or anything like that, because obviously location's quite irrelevant at the minute - it was even a relevant 10 or 12 years ago when I started, but even more so now, so yeah, based in, Yorkshire.

Pete: Yeah. That's awesome. Well, I think that's really great for a start because lots of people can become developers and don't have to go to the big city. So for me, I've lived in London a couple of times, but I've never desired to live there long term and like lots of jobs sectors are like, all the jobs are in London or in the States, you know, all the jobs are in San Francisco or New York. So yeah, it's really great to be able to like work remotely.

You've always worked from home, haven't you?

Tom: Yeah. Yeah. And I just found that to be easier, you know, for me it just worked better that way.

So I always, approached clients that were happy with that arrangement.

Pete: Yeah. Perfect. So I guess like, cause you've got like home office and everything kind of just like a it's business as usual, like in terms of COVID and everything. You've just been doing the same thing.

Tom: Yeah, exactly. Yeah, it was, the work side of my life was pretty much just a continuation really. Um, but then obviously, you know, there's the other stresses of, uh, the lockdowns, you know, not being able to do the social stuff. When you work from home, you need that perspective. If you know what I mean, you need that like outside influence from your friends and your family and things like that.

So, yeah, while it's been business as usual on the coding side of things, um, it's been a little bit stressful on them.

Pete: Yeah. Yeah. That's a fair call. I mean, I really liked running anyway, but like I, because I worked from home that I was doing that before COVID I just, yeah. I like running and cycling, and like making sure I'm going outside, uh, helps a lot.

So yeah, definitely like even developers don't want to be inside a lot. Well maybe they do, but it's not very healthy.

Tom: Exactly. I think, I think I thought that I would cope with it, like really well, just because of what you said before, like just business as usual, but I didn't know that, you know, missing out on the gym and things like that, it definitely has an effect, um, you know, on your coding and things like that, too.

Pete: Yeah, definitely. I stay as well. It's kind of like a trope that on Twitter people will be like, oh, I was stuck on this bug for hours. The next day I woke up and then it's like, oh yeah, I fixed it in two seconds. So it's like, yeah, it's good to take a break. Definitely. Definitely. So yeah, you don't have a CS degree or anything like that?

How did you learn to code?

Tom: Well, let's go about right at the beginning, actually. So I can remember when I was about 13, 14, my mum and dad bought a Packard bell PC. I think it must've cost the earth back then, like five grand or something. Um, you know, with a 56 K modem and all that.

And I just became like kind of obsessed with the internet and building websites and GeoCities and all that kind of stuff. And I think you had like some small options where you could like customize. And I used to like make banners in photo shop and things like that. And then I progressed then to an after school course.

And so when I was doing my GCSEs (English high school exams), when I was like 15, I did an afterschool course. And that's like the first coding experience that I had. And then I went to university and I actually started, um, multimedia and communication design. So it's not a CS degree, but it was more like videography and design and things.

But then I kind of got reintroduced to coding again while I was there, because we had like a free reign module where we could pretty much do whatever we wanted. And I ended up building a website for my uncle's band in WordPress. I was about 20 then 20, 21, something like that.

And that ended up being my, like part of my one sixth. You know the credit for my degree. Um, and then, yeah, I just continued with WordPress and stuck with it ever since, and just continued on my coding journey into JavaScript and other languages.

Pete: Yeah, that's awesome. And like, I mean, I think what's interesting about you is that you've built up this freelance business over the years and you've sort of just like taken your own path.

Tom: I've not worked for someone else. I think that's like really attractive to lots of people because quite a lot of people don't want to work the 9-5 or this kind of option is not so secure as it used to be.

Pete: So do you have any tips for like, if someone's just starting out how they can get their first freelance clients?

Yeah, I think, um, it's probably the harder route to take if I'm being honest. If you know, not getting a job first and some real world experience, um, instead of just going straight into it, like what I did, but I mean, the, the first tip I have is to learn to be a good marketer, as well as being a good coder.

Because being a good coder is not enough. If you want him to go freelance, you need to have business skills and marketing skills too. So definitely think about, um, you know, reading books on the subject. That's what I did a lot of, a lot of research into marketing, how to position yourself and things like that because without that it's going to be really difficult to go down the path of, you know, straight into freelance without having any contacts or anything like that from previous jobs.

Pete: Yeah, no worries.

Do you know off the top of your head, any like any books that you can suggest people check out for marketing?

Tom: I mean, Seth Goden stuff's really good. He's got about four or five out there: Purple Cow's a good one. It's kind of about how to differentiate yourself, basically and to relate that kind of back to my experience, that's what I did with the WordPress stuff. Obviously WordPress is huge now, but 12 years ago, it wasn't quite as big.

I just used to advertise myself as a WordPress only developer. And that's kind of how I got the leads coming in through that speciality. So, yeah. Um, Seth Godin's, stuff's really good on marketing.

Pete: Yeah. Nice one. Yeah. I think I've noticed that definitely from recruiters on LinkedIn about, you know, positioning in general, because they've said, I remember seeing someone recently say, you know, if they're looking to fill a role, they'll look on LinkedIn for people that are like a JavaScript developer or React developer or, you know, a specialty.

So if you just put on LinkedIn, “I'm a developer”, then it's just like, well, what kind of a developer? So, yeah, I think definitely like being more specific, um, positioning. Yeah. It's really smart because it's like, you can like, yeah. Pick your niche kind of.

Tom: Yeah, definitely. I think if you just advertise yourself as a web developer only, you're just going to get lost in a sea of other candidates and that's just the truth. You know, it's really hard for people to find you, if you don't, give any specificity in what you actually do or what you want to.

And it just makes the whole game a lot harder if you don't pick something that, you know, people can find you by.

Pete: Yeah. That makes a lot of sense. And yeah, I think as well, your point about marketing is really good because I think, you know, you can be like a really great developer, but if you, if you're talking to a client and you don't know how to sell or you don't know how to like explain, or if you say something like really complex, like if you go into a cafe and say like, oh,

“I'm going to make a headless CMS” , people will be like, “well, what what's that?”

So I think it's good to be able to like talk in a way that, you know, your clients can understand.

Tom: Definitely you need to be personable as well, like with your marketing and be able to break down, you know, like complex technical things into like simpler terms.

And, and that's like, that's quite a hard skill to learn, really. You know, when you've got all the acronyms and things that you, you know, like in the back of your hand, but for people that are running like a cafe in your example, it's irrelevant to them.

They just want the website done in the best possible way. And they want to come to you as the expert to put the best technology in place. That's fine.

Pete: Yeah, absolutely. I was wondering, you've talked quite a lot on pricing projects. And again, there's a few different schools of thoughts, but there's some ways where you can like price per the hour, price per day, or just price for the project.

So let's say I'm going to make a website for a cafe. I'm going to just start with adopting project price pricing. So I'm just wondering, what are the advantages?

Tom: Yeah, I think with project pricing, like the incentives of you and the client are just way more aligned from the off.

So what I mean by that is the client knows exactly what they're going to get and what it's going to cost before basically. If you are agreeing like an hourly rate, then really what's the incentive for the programmer to work fast. There isn't one. And I just think it starts things off on a really bad footing.

And I just don't think it's good business, doing hourly billing. Whereas let's say if a coffee shop wanted, you know, a WordPress website with a custom design, whatever, and I say, it's going to cost five grand. Then they know what their financial commitment is right there. So it just makes life easier.

In my experience, there's less things to worry about, you know, mid project. You don't have to go back and ask for more money, which I don't like doing. Um, and you know, it's just, it's just nice to give the client an exact figure on what their outcome's going to cost. And I just think it's just a whole way better than doing things and just like guessing with estimates and things like.

Pete: Yeah, when you explain it, like, that really makes sense.

I was just wondering, because it's project-based, I guess you have to be like really specific about the scope of the project. So it doesn't become so that they don't take advantage of you.

Tom: Yeah, you need a really specific scope before you'll give a price. And the other thing that I used to do is either that can come from the client themselves, or if they don't have, um, you know, a precise scope, then I offered to do that with them beforehand, you know pre project.

So what I would say is, um, look, if you've not got a scope that we can fix and we can agree a price on, then I'll do a pre project with you far for X amount. And we'll work on that together, which will then enable me to give you that fixed price accurately afterwards. So that's how you would do it to not get taken advantage of from the developer side.

Pete: Yeah. Awesome. I mean, because of the rise of things like Wix and Squarespace and things like that, I mean, what happens, like if you're talking to a client and maybe you're making a pitch and someone's just like, “ah, you know, I might just make it in Wix” or something like that.

I mean, is it just like a client you want to avoid or like, how would you handle that situation?

Tom: Yeah. I mean, first I try not to get into negotiations with someone like that in the first. So I would try and pre qualify before I got on a call or into a meeting. I'd try and talk about budget really early on.

I try and talk about what I specifically offer, which is custom websites, not, theme based stuff, or page builder stuff. So then that kind of pre-qualified someone before you spend a lot of time in meetings and things like.

But if I did end up in the meeting that I would just thank them for the time and say, I don't think that there's a good, there's a good fit for my services and, and your project, unfortunately. And then I just try and recommend them to someone that I know that would specialize in the thing that they do.

Pete: Yeah, that makes a lot of sense.

I was curious about what your thinking around that, because I did see like an exchange around that kind of area - sometimes like if someone's not going to be a good fit, I mean, you can save yourself a lot of time and hassle if you're like, okay.

Like, “I don't want to have to do this project, which is going to be really cheap”

Tom: I guess, personally, and you get back more of what you accept as well. So the more of the clients who think that they could just do it on Wix that you accept, the more of them that you will get that, you know, in return, you know... you've got to put some markers down somewhere.

It's part of your positioning. Really. You've got to make like a deal with yourself that that's just not your client base and you accept that, you know? And then just keep your foot down basically when the negotiations do come up. Yeah. That's fun.

Pete: So how did you get clients at the moment?

Are you actively kind of, you know, pitching your services to people?

Tom: Yeah, so I've never really done much outbound stuff. It's all been inbound. And that was kind of by design right from the beginning. Um, so like one of the main things obviously is just doing good work.

And then you will get, you'll get word of mouth coming in and repeat business. And like those two things, you can build a successful freelance business on alone. Um, but yeah, my primary tactic has been organic SEO through my personal website. So I've got two or three landing pages set up with, you know, really specific terms relating to my services.

Yeah. A lot of traffic. Um, so some weeks, you know, I'm getting like one or two leads per day from that. So that's always been my constant supply of new prospects coming in, um, aside from, you know, word of mouth and the longer that you do things, you know, the network gets bigger on it, you know, it grows and grows over time.

So yeah. They're all inbound on my side.

Pete: Okay. Yeah. That's awesome. That's really good. Do you have any quick, like SEO tips for those?

Tom: Yeah, I think again, it's more like going specific again. So instead of making a page that described yourself as “I'm a freelance web developer” go like one deeper or even two deeper and like “freelance WordPress developer” was one of the things that I targeted, but obviously now that's just too saturated to try and target.

And I'm probably going too far with back links and things, but, you know, if you want it to say, if you're a JavaScript developer, you know, target React or even a vertical as well, like startups or something like that. Try and be more specific in what you're offering on your landing pages. And you've got a lot better chance of getting SEO traction.

Pete: Yeah. That makes a lot sense. I know that you're a big supporter of the idea of building an audience and getting more work that way. Can you talk us through that.

Tom: Yeah, sure. I think, the audience that I'm building is kind of not really to get more freelance work it's to really help other people in the freelance game.

So it's a little bit different, but I think that the plan works either way. You know, I think, I mean, I mentor a lot of freelancers as well. And one of the tactics that we've talked about is to, you know, make friends with freelancers because you might get their overflow work and things like that.

So there's a lot of benefits to having an audience. And I think it's a worthwhile investment for freelancers that are looking to get more work or perhaps people like me who are looking to, um, create educational products and things like that.

Pete: Yeah, that makes a lot of sense. And I think like, yeah, I find over the last couple of years building up , that's improved my network massively. So yeah, it's definitely, always a good thing to know more people and everything.

Can you tell us about some of the educational products that you've been selling on Gumroad?

Tom: Yeah, sure. Um, so I started doing this about, um, 11, 12 months ago now.

Um, and I just thought, how can I kind of like productize my experience basically. And, there seems to be a lot of like programming resources. But not so much like how to freelance the business of freelancing marketing and things like that. So, yeah, I just started started with a free one called 10 Steps to Becoming a Better Freelancer and basically what that one is, is just my manifesto or my 10 commandments if you want to call them that, of how I built up my freelance career over the years and what I feel is important for freelancers. So that was the first one that I released about a year ago, 11 months ago or something like that. And then, um, a few months after that I did, um, I had a viral thread.

I don't know if you saw it about freelance projects? And it went like crazy viral – I think it had like, sort of like two and a half million impressions. So, I wrote my second ebook about, you know, just, just fleshing out that thread, basically, expanding on it quite a lot.

Because obviously people liked the content. And then after that in January of this year, I released my first video class, which is the Personal Website Playbook, which is kind of like what we touched on before, like how to get leads, opportunities and revenue and building a personal website with multiple revenue streams, whether that be, you know, services, products, mentorship, and blogging and things like that.

Pete: Yeah. That's magic. It's so good to be able to productize.

And I think as well, I mean, I made like an ebook on imposter syndrome and I made that as a kind of freebie for people to sign up to my newsletter. Yeah, my conversions have gone through the roof since then. So you don't even need to be charging, you can just...let's say lots of people build up really big lists with resources for developers on that. And then obviously you can use that if you're launching a business, launching paid products.That's really useful.

Tom: Yeah, that's kind of like what the tactic was with the 10 Steps to Becoming a Better Freelancer in the beginning. I just wanted to get something out there, free for people. But also use it was to build my mailing list. I think I've got like four and a half thousand people have downloaded that. So it's a pretty good start. And then obviously any other products that I do release that after they're likely to be interested in them too.

Pete: Yeah, it's a really good tactic for sure. Yeah, definitely. Just last couple of days, I've just been telling everyone I know who has a newsletter, “give something away for free, like people like free stuff” and that's like a really good way to get people on your list. And then yeah, it builds from there.

Pete: I know that you're really big on the kind of headless CMS for WordPress.

Kind of like a lot of people are saying it's the future for WordPress.

Can you explain what that is for people and why that's going to be the future.

Tom: Yeah. Sure. So like we have like this JAMstack headless approach now in web development where we're kind of splitting everything off into like API driven microservices and things like that.

And relating that to my experience with WordPress, I think WordPress has kind of got that perception by a lot of people that it is quick, cheap, easy, free, and things like that. Whereas it kind of gets discounted from solving these more advanced digital problems. If you know what I mean? I think that that's a bit of a bad take really, because WordPress is super extendable, super flexible, and I've been solving hard problems with it for 12 years.

So, and anyway, to relate it back to the headless stuff, like I really believe that, um, you know, JavaScript is just going to take over. It already is, you know, um, React, Vue, all these new frontend technologies, you know, next JS. It just gives you a way to primarily like build with really nice frameworks.

It's a modular way of developing. And then the businesses at the end of it get a really fast site, you know, scalable does SEO benefits. There's just a lot going for it, but then you've got this crossover. You've got a lot of people who are so used to WordPress that they don't want to move away from it.

But they think that these headless technologies are kind of out of their reach, which is not really true because with WordPress, you've got the rest of the API and you can also use WP graph, which is a plugin that you can add, which will give you, you know, a Graph QL data layer on top, which can then be consumed by, you know, a JavaScript framwork to get you all those headless benefits.

So like a lot of people, I think that headless is going to be the future of WordPress. And it's already started really with the introduction of React to the core, with the block editor and things like that. So I think that JavaScript's just going to get bigger and bigger and bigger, and WordPress is going to be a big part of the future of web development too.

Pete: Yeah, that's awesome. I mean, I think you're absolutely right. And I'm starting to see things like, neighborhood restaurants and cafes and their websites are built with React, and it's like super fast. And I think like, there's so much potential for kind of like, you know, old, slow sites to really give an amazing experience to the users and be super fast, but in a way that, again, you can still use WordPress.

So accessible to people and you know, you're not asking like a small business owner to learn React or anything. So I was wondering as well, just kind of like rap up:

Are there any developers that you can recommend following on Twitter?

Tom: Hmm, good one. I mean, I've got a good friend called Gaya Kessler and these, uh, probably the best JavaScript developer that I know, and he does a lot of node and react stuff, and we're working together on a little SaaS products for creators, but it's, um, it's under my hat at the minute. Um, so yeah, definitely give Gaia a follow.

He's @GayaKessler on Twitter. So, yeah, I want to go with one that's not, not an obvious one. So I think he's only got two or 3000 followers, but yeah, he's, he's a great guy and an awesome developer.

Pete: Nice one, nice one. And yeah, it's always good when it's people aren't just super famous or anything.

Do you have any like favorite tech podcasts to listen to it?

Tom: Tech podccasts? I mean, I more listen to like entrepreneurial stuff and I'll listen to like My First Million. The All In podcast, pretty good with all the VC guys. Um, so yeah, that would be my two and obviously the Tim Ferriss show is always pretty good.

Pete: Yeah. Awesome. Final question:

What's your favorite site for people learning to code.

Tom: Hmm. I always try and point people to like free code camp because I just think it's, you know, obviously it's free and it's got like an exhaustive list of different courses and things like that. So anyone looking to start and doesn't want to spend like tons of tons of money, I would definitely start there.

Pete: Yeah, it's really popular advice. Obviously tons of resources. I was just wondering as well, where can people find out more about you?

Tom: Cool. Yeah. So, um, the best place to get me is on Twitter. I'm pretty active on there.

So I'm at @tom_hirst. And if you want to just find out a bit more about my story and links to my products and things like that, you can go to

Pete: Awesome. Well, thanks again for the interview. And it was awesome also to have your text interview a little while ago on

Thanks for sharing your time with us again, and good luck with everything on your projects.

Tom: No worries. Pete, thanks for having me.

Pete: No worries. Cheers.

About the author
Pete Codes

Pete Codes

Hey, I'm Pete and the creator of this site. I am a self-taught web developer and I'm based in Edinburgh, Scotland.

Self-taught developer success stories

Get into tech without a CS degree

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Self-taught developer success stories.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.