My First Freelance Client as a Web Developer

Kenz Dempsey
6 min readMar 3, 2022

Perhaps the hardest part of building a freelancing business is the beginning. Finding those first few clients, getting people to trust you, and creating a workflow. Here I’ll share a bit about my first client and how I learned from it.

View my freelance work here

How did I get the client?

I, like many other aspiring freelancers, spent way too much time sending out cold emails to people hoping I would get some response. But after some consideration, I came to the realisation that I’m expecting people to just trust a complete stranger, and unfortunately, I don’t have good enough sales skills to make that work.

Stop trying to send emails all day — there’s a better way.

So I went to friends and family instead. My dad has a pressure washing business that I thought could use a revamp, so I contacted him asking if he would like me to redo his website and logo. Needless to say, he took me up on my offer without hesitation.

What are some benefits of asking family members for work?

  • Trust

Building trust is probably the hardest part of freelancing.

To be honest, it really doesn’t matter how many languages you know, how many projects you’ve done, how many Javascript books you’ve read, etc. If you don’t have trust. Let’s be honest, if you had a business, and some stranger with no credibility contacted you, asking to build you a website for $1500, you’d laugh and hit the “report spam” button.

When working with your friends and family, assuming you’re on good terms, you already have that trust, which removes an entire step out of the sales pitch.

  • Contact

Sending out 100 cold emails is likely to yield 0 responses. Whereas if you call or text your uncle who has a landscaping business, you are almost guaranteed a response, even if it’s a negative one.

  • Pressure

When just starting out freelancing, the first few clients will be incredibly stressful. Feelings of imposter syndrome will quickly set in and you’ll be left thinking “Oh sh*t, I have to deliver something worth $1000”.

I’ve found that working with family and friends negates this anxiety (at least a bit). Allowing me to freelance with some metaphorical training wheels. With that being said though, they are still a client like any other. You must put in 1000% effort in making sure they get what they want.

Some problems you might face when working with family…

  • Compensation

Talking about money is never easy when it comes to family, and it’s no different when asking for work. You might encounter someone who thinks they will get free work.

(I will write another post about working for free, and when it can work in your favour)

Keep in mind, you will be working for several days or even weeks on this project, and your time is valuable. I believe a friends and family discount is in order, but make sure you don’t get pressured into working for next to nothing.

Having a structured proposal, contract and invoice can help you avoid these discrepancies and ensure you get paid what you’re worth. (We will touch in this topic)

  • Pressure

I said in my benefits section that working with family can relieve some of the pressure that comes with working for “regular” clients. But working with family can cause a bit of strain on your personal relationships if you are not careful.

Again, having a structured workflow and sticking to a strict schedule can and will help alleviate some of this pressure.

My freelance workflow

Having a proper workflow is crucial.

I might do a seperate blog post for this to go more in depth, but I’ll quickly go over the stages I like to use to ensure I get all the information I need from a client before I write a single line of code.

When communicating with a client, I make sure I get the following information first:

  • List of pages (Home page, contact page, FAQ page, etc.)
  • Special features (Are they going to need React.js? Wordpress with premium plugins? Custom PHP backend?…)
  • Do they need a logo? Social media support? SEO?

This is all crucial information because it will directly affect the cost of building the site. After getting the first bit of information I move on to the nitty gritty of what is needed:

  • overview of project
  • List of pages: home, contact, etc …
  • Special features: blog, shopping carts, animation, etc …
  • Extras: social setup, image and video prep, hosting setup etc …
  • What you charge per hour — all clients seem to want to know this!
  • Estimated hours of work and total cost
  • Estimated delivery dates. For 1st draft, 2nd draft and final.
  • Terms of payment 33 split
  • What you need from clients and deliverable dates: copy, images, video etc …
  • Revision count: design can be revised up to 3 times.
*Note that it says “what you charge per hour” — I do NOT recommend charging by the hour. When you charge a client by the hour, and quote say — 10 hours to complete a project that for some reason may take you 15–20 hours (things happen), you effectively make half of what you should be earning. Remember that you are a creative! If you want to trade your time for money, go work a 9–5. You are selling the final project, not your time.

What problems did I face with this particular project?

For starters, I knew next to nothing about hosting. The project took an additional 3 days to complete, due to me ripping my hair out trying to get the damn site hosted and active. I used WordPress to build the site, which can get pretty messy in the later stages of a project when you have a lot of moving parts. I think WordPress is an incredible tool to have as a web developer, but it is important to learn the fundamentals, from start to finish (like any technology), to avoid running into problems like this.

Hosting is a skill in and of itself, so make sure, again, you learn the fundamentals. I feel it’s often overlooked in most web development courses I see on the internet. As a freelancer, you need to have a lot more skills than someone who does strictly the front-end at a company.

This particular client didn’t have many assets for me to use (images, video, etc.), so it took a considerable amount of extra time to obtain content I deemed worthy of putting online, as well as being free to use. That last part is crucial. Make sure the images you use are royalty free, or get them licensed. The last thing you want is to build a site for a client, only to receive an angry phone call 6 months later asking why they’re in trouble from the agencies who own that content. Or worse, getting sued by a massive corporation.

There are tons of free stock photo sites for us developers to use. Here are a couple I use:

  • Pexels
  • Unsplash
  • Burst
  • Pixabay

What would I have done differently? (Knowing what I know now)

This project ended up going rather smoothly, given it was my first freelance client and I didn’t have too much experience in a professional setting.

I think it would have definitely helped to have a better structure, and to cut myself a bit of slack. I ended up working 10–12 hours a day for 4 straight days on this website, which was extremely unnecessary. I didn’t understand the concept of deep work, so I worked obsessively when I could’ve taken it easy and worked a few hours a day with 0 distractions for maybe a week or so.

I didn’t organise my workflow properly either, so I was jumping back and forth between things and forgetting what I was doing constantly. When you’re self-employed, you don’t have someone else to give you a set of instructions or list of tasks for that day, so you must ensure that you set up a proper structure to ensure you work efficiently.

In conclusion

We all start somewhere, and will face some issues with our first few clients. But think of it as getting paid to learn. Use these first few projects as a means of learning and nothing more.

It’s easy to overthink things and be paralyzed by fear when first starting out, but just taking that first step, finding that first client, you will be rewarded.

--

--

Kenz Dempsey

Freelance web-developer from Vancouver, Canada. Currently studying JavaScript and PHP. My Site: https://www.kenz.dev/