Contact Us

How to Start Freelancing as a Web Developer in 2021

Ruby on Rails | March 15, 2021

How to Start Freelancing as a Web Developer: All You Need to Know

kyle-prinsloo  by Kyle Prinsloo       Last updated Jan. 15, 2021

Freelancing changed my life for the better.

I’ve been a freelance web developer for over 5 years and I learned a lot through the process.

Questions like:

…run through your mind, and you don’t know where to start

This article will help you answer this (and more).


No time to waste – let’s get started!

If you prefer listening:

What is a Freelance Web Developer?

Freelance web developers are self-employed professional coders who create websites for several clients and get paid for each project.

Because they don’t work for an employer, they get to set their own price, choose which client to work with, and work on as many projects as they want.

How Long Does It Take to Become a Freelance Developer?

This depends on many factors like your existing coding skills, your business skills, and the amount of time you can dedicate each day to growing your business.

One person can become a successful freelance developer in 6 months or less, but for another, it may take longer than that.

Just a couple more things:

What Skills Do You Need to be A Freelance Web Developer?

To be a successful freelance web developer, you need to have a balance of coding and business skills.

Coding skills – Web developers are expected to know how to code. You can start with learning HTML, CSS, Javascript. There are free and paid online and offline courses or bootcamps that you can take to learn how to code if you’re starting from scratch.

At the minimum, you can start freelancing with only HTML & CSS knowledge. You can also use a CMS like WordPress or if you’re not interested in coding too much. Many successful freelancers go this route and it’s perfectly fine.

Business skills – A common mistake of new freelance web developers is the failure to see this as a business. Building a business requires a specific set of skills including but not limited to marketing, building a brand, setting the right price, negotiating, networking, and much more.

Because it’s your business, you’re going to handle every aspect of it from looking for clients to managing your cash flow.

The bottom line: To succeed as a freelance developer, focus on the coding and business skills.

Bonus Tip: All skills can be outsourced. If you don’t like X task, outsource it.

How Much Money Can You Make as a Freelance Developer?

Your income is directly correlated to how much you charge and how many clients you have.

Can you earn $5,000 per month? Yes

Can you earn $10,000 per month? Yes

Can you earn $20,000+ per month? Yes

We’ll discuss the factors that you need to consider in pricing and some strategies you can use to maximize your earnings.

Learn how to earn a side income: Developer Freelancing Basics – How to Earn At Least $500 in Side Income Each Month

How to Start Freelancing as a Web Developer

Watch The Basics of Freelancing here:

1. Ask yourself if web development is your passion

So many people are attracted to the “next big thing” or a trend that seems to be working for other people. The freelancing industry has been growing unprecedentedly in the past years, and many new web developers are breaking into the scene month by month. It’s a trend that’s positioned to grow even further in the upcoming years.

But you don’t want to hop on the bandwagon just because your high school classmate is doing it and is now earning 6 figures a month.

Web development is not a walk in the park, and growing a freelancing business takes time and skills just like any other kind of business. It’s not something that you start today and the next week you’ll already be successful. It can take months or even years.

To be able to stick long enough to see success, you need to have passion and motivation. Ask yourself the following questions:

Still not sure? Read up on the Pros and Cons of freelancing here: The Pros and Cons of Being a Freelance Developer.

2. Ask yourself what is your “why”

It’s easier to throw in the towel at the first roadblock we encounter if we don’t know our “why”.

Ask yourself why do you want to be a freelance web developer. Consider your dreams, priorities, and motivations.

You can have many different why’s:

One of my biggest “why’s” is to teach others to fish. To empower and equip others to make a positive change in their lives as a whole so that they can do the same for others.

When you’re tired, lose focus, or feel demotivated, your “why” will keep you going if you really want to fulfill it.

Revisiting my WHY really helped ignite my passion to realize I’m doing this (the effort, admin, etc.) for a greater good.

3. Backend vs. Front-End vs. Full-Stack Development

Web development is divided into two main areas:

Back-end development involves logic and problem solving while front-end web development focuses on the design and visual.

Backend programming is everything you can’t see on a website. Think of a server (a big hard drive with all the site’s information) in a location somewhere in the world, processing all the website data and then sending it to the browser every time someone tries to access the website. A back-end system is like a car engine – it keeps the website running.

Front-end programming, on the other hand, is everything you can see, click, and interact with on a website. It’s the design, color, typography, buttons, photos, videos, etc. Front-end developers are like the interior designers of the house built by back-end devs.

If you enjoy working with data, problem solving, and dealing with logic, you’ll enjoy back-end web development.

If you’re a creative type who enjoys designing, arranging visual elements and website psychology, front-end web development might suit you better.

Can you do both? Yes – that’s what a full-stack developer is.

Reminder: you can use no-code tools to create websites like , Oxygen Builder or which allows you to create WordPress websites with ease. We’ve used it for almost every WP website.

4. Define What is “Success” for You.

Success doesn’t look the same for people. For me, it may mean more time to do things I love. For you, it may be earning a specific amount per month. To get to where you want to go, you first have to know where you want to go.

Ask yourself these questions:

Once you have a clear picture of what kind of success you’re looking for, break it down into smaller goals.

Here’s a sample scenario:

Success: Earning more while working less so you can have more time for family.

Goal: Earn $100,000+ while working 20 hours or less a week.

Now break down the goal into measurable monthly objectives

5. Create an Action Plan

Ever heard of the saying, “Failing to plan is planning to fail”?

An action plan is a tool you need to turn your goals into reality.

It breaks down goals into measurable objectives and the specific steps you need to achieve these objectives.  

Your action plan should also be realistic. You need to consider how much time you can spend each week to work on your goals, how much money you can spend, your strengths and skills, and other factors.

An action plan can look like this:

Month 1: Learn HTML and CSS

Month 2: Learn Bootstrap/Tailwind and design fundamentals

Month 3: Create websites using HTML, CSS and Bootstrap

Month 5: Learn more advanced JavaScript

Month 6: Create websites using HTML, CSS and JavaScript or

Month 7: Create a personal portfolio website and build a personal brand

Month 8: Reach out to businesses to create websites for them (for free to gain experience)

Month 9: Focus on improving knowledge and see what you need to work on

Month 10: Get a minimum of 3 client websites on portfolio

Month 11: Learn freelancing fundamentals and business essentials

Month 12: Reach out to prospective clients, promote your work, and get paid clients or apply for a job.

6. Find the Best Way to Learn Coding Skills

There are two routes you can take to learn how to code:

Buy a paid course or self-study with free tutorials.

Which route you should take depends on your existing coding skills, budget, and how fast you want to learn.

Paid Courses/Bootcamps



If you’re interested in enrolling in a bootcamp, a good place to start is our review of the best coding bootcamps: Best Coding Bootcamps (A Guide With 22 Choices).



If you want a low-commitment way to get started, you can enroll in free courses on websites like Udemy and also check out YouTube tutorials.

You can also check out The Best Courses for Web Developers.

7. Focus on a Niche

Focusing on a niche will make it easier for you to grow your expertise and build your reputation.


Shiela, the HR manager of a law firm, is tasked to look for a developer who can revamp their website to close more sales. Shiela goes to Upwork and publishes a job post detailing what she needs.

After barely a minute, a developer named Bob already sent an application where he shares his relevant experience. His portfolio and resume seemed great, but Shiela noticed that much of his experience involved building websites for e-commerce sites. He doesn’t have any experience in building a website for law firms. She decides to wait a little more to see more applications.

A few hours later, a coder named Steve sends an application, and Shiela’s attention is immediately caught. According to him, Steve is a developer specializing in making high-converting websites for law firms. Perfect!

New web developers often try to be everything to everyone, but this just sends a message that you’re like every other coder and can easily be replaced.

What we want to have a thriving freelancing business is to establish ourselves as an expert in a specific field. If a law firm needs a website, you want to be the first person that comes to mind simply because you positioned yourself as an expert web developer for law firms.

If you’re an expert:

Example niches you can specialize in:

Narrowing down on a niche may seem counterintuitive because you’re saying no to a lot of opportunities, but it will pay off in the long run.

We discuss the power of niching down for freelance web developers in more detail here: Should You Niche Down Web Design Services?

8. Create a Winning Portfolio Website

Once you’ve chosen a niche, the next step is to put together a portfolio website that will show off your skills.

Your portfolio needs to show real websites or apps that you’ve worked on, client testimonials, and your knowledge in your field.

Let’s say you’ve chosen to specialize in making simple websites for coffee shop owners. A portfolio can look like this:

Notice that the portfolio is not a simple collection of websites. It clearly states what you can do for your target client (i.e. get more customers) and shows off your expertise through the sample websites, blog posts, and customer reviews. Lastly, there’s a form at the bottom to make it easy for potential clients to request for a quotation.

If you enroll in a bootcamp, chances are you will already have some projects you’ve worked on that you can include on your portfolio.

But what if you’re a total beginner with zero prior projects?

You have two options:

1- Create 2 websites for free in exchange for a testimonial

The idea of working for free may put off some people, but remember that the goal is to put together a great portfolio as fast as possible.

This strategy involves two steps.

Step 1: Email the business owner about your offer.

You can look for their email address in yellow pages, local magazines, local website directories, and their social media accounts.

Another approach is to look for existing websites and, if you feel it’s bad, offer to improve it for free.

You can send them this email:

Hi [name],

I recently came across your [niche] business and I noticed you don’t have a website.

I am a web designer and I would love to create your website for FREE (no catches or hidden fees) in exchange for a testimonial from you that I can use on my website.

I’m looking to get a few testimonials as it will help me in the future.

Would you be willing to take me up on this offer?

If you have any questions, please feel free to contact me.

Step 2: Create the website. You can code it yourself or buy an affordable theme on (often for under $15) if you want to finish faster.

2 – Buy 2 domains and create the websites yourself

If all you really need is to show that you can create great websites, then it makes perfect sense to just buy 2 domains related to your target niche and create the websites.

This won’t get you testimonials, but it’s a quick way to get started.

If you want to know more tips and strategies on how to close your first and subsequent clients, I created an ultimate guide on how to get clients even if you have zero experience: How to Get Clients as a Freelance Developer: The Complete Guide.

9. Decide on Your Pricing

Your pricing strategy is vital to your success.

3 things when it comes to pricing:

Watch How to Charge for a Website:

1 – Your Pricing Depends on the Niche You’re Targeting

If you charge a small bakery $1000 for a website, it may be beyond their budget. If you charge a law firm $3000, they might think that’s too cheap and question your expertise.

You have to find out how much your target clients are willing to pay for a website.

2 – Don’t Do Hourly Pricing

This is a disputed topic, but I want to point out something really important.

If a dentist finishes extracting your wisdom tooth in 30 minutes or less, you won’t necessarily ask to pay a discounted fee, right?

If a heart surgeon finishes operating on your heart in 2 hours, you won’t say, “I will only pay you $300 because it only took you 2 hours”.

If someone finishes a task in a short amount of time, it doesn’t mean the service is of less value – it just means they spent a crazy amount of time practicing the skill until they got to the point where they do it correctly and efficiently.

The same thing applies to web developers. Just because you finished a basic WordPress website in a day doesn’t mean you should charge your daily rate.

As a freelance web developer, your aim should be to price based on value. How much value are you bringing to your client’s business?

Learn How to Value Base Price your services: Hourly Billing vs Value-Based Pricing.

3 – Offer Pricing Options

When you start reaching out to potential clients, they will ask for a proposal or quotation.

When this happens, ALWAYS include at least 3 options.

It might look something like this:

Option 1 – Total $400:

Option 2 – Total $900:

Option 3 – Total $1,950:

Including upsells have 3 main benefits:

Watch how to create a Winning Web Design Proposal:

Remember that the upsells need to be services that your target client may need to maximize their website.

I explain this topic in more detail here: How to Charge for a Website.

10. Create a Marketing Strategy

Now that you have your niche, portfolio website, and a pricing structure, it’s time to formulate a marketing and advertising strategy for your business.

To build a sustainable business that will last for years, you should have a short-term and long-term strategy.

Short-term marketing is meant to make you money today/this month, whereas a long-term strategy focuses on building a brand and getting results 6+ months ahead.

What happens with most freelance web developers is they get caught up in the “daily grind” trap where they focus all their energy and time on getting clients and completing projects. Building a brand often takes a backseat.

Here’s how to change that:

Short-Term Strategy

When I need to find clients ASAP, these are my top 3 strategies:

1- Paid Advertisements

The two most popular paid ads that you can use online are Google AdWords and Facebook ads.

Google ads appear on top of the search results whenever someone searches for a related keyword.  Every time someone clicks the ad, the business pays for it.

The logic behind Google AdWords – and any paid ads really – is determining how much you’re willing to pay to close a sale.

Example: You’re selling a website for $1,000. Would you be willing to spend $50 to get a confirmed client with the potential of them signing up for a monthly marketing package?


Would you be willing to spend $200 to get a client to buy a $375 website?

Probably not.

You have to decide how much you’re willing to pay to get one sale.

The same goes for Facebook and LinkedIn ads.

Ads are an extremely lucrative way of getting clients, but the learning curve is steep.

It’s worthwhile learning these skills – you can offer it to clients as a service as well.

2 – Facebook Groups

A lot of people are overlooking this strategy, but if you do this right, you’re setting yourself up for long-term success.

All you need to do is to create a Facebook group in your target niche and add members to it.

Example: I’m selling websites to wedding suppliers, so I’ll create a Facebook group of wedding suppliers in my city/country. Then I will add value to them by sharing useful digital marketing tips, high-value blog posts, tips, funny memes, and other engaging content.

If I keep doing this, over time they will see me as an expert in marketing wedding services. If at some point they need help with their website or marketing, I’ll be the first one they will ask for help.

I can also message each member directly or occasionally post to group about how I can help them grow their business.

Creating and maintaining a Facebook group may sound intimidating especially if you haven’t done that before, but remember that you don’t need 1,000 members here. Having 50 targeted members to start with is excellent.

Your focus should be on converting 10% of these members into paying clients and then keep growing the group from there.

This strategy is both a short-term and long-term way to get clients and position you as an authority in your niche.

3 – Manual Outreach

Another short-term strategy to get clients is to manually look for them. This strategy is very time-consuming and requires a lot of work, but it’s effective and ultimately worth it.

Here are some places to look for potential clients:

Then you need to find out the following:

If the answer is no to both questions, that’s a good sign. Now it’s time for you to find their contact details and sell your services to them.

Send them this email:

Hi [name],

I just [insert compliment]

I’ve helped [insert what you’ve DONE for a similar business] I’d love to chat and see if I can help do the same for you.

When are you free for a quick call to discuss it further?

[your name]

What if you have no experience?

Remove the sentence on “I’ve helped…” and “I’d love to chat…” and replace it with:

I noticed your website can drastically be improved to get more sales [insert outcome]. I’d love to chat about how I can help you with this.

If you don’t receive a reply after 3 days, follow-up.

If they still don’t reply, phone them.

Before we move on, let me emphasize a few things:

Many of you will have reservations about the word “sell”. This word brings up images of sleazy salesmen to mind, and no one wants to appear like that.

I also experienced this, but I soon came to a realization:

I’m providing this business with a website that grow their business.

I’m HELPING their business grow and they are just paying me to do so.

If you understand that your services can improve their business, it actually becomes your obligation to sell them your services. This change in perspective will enable you to sell your services more confidently.

Besides, there are right ways to sell your services without coming off as too “salesy”.

Long-Term Strategy

While you’re doing your paid ads, manual outreach, and Facebook group marketing, set aside a few hours a week to build your brand.

As I mentioned before, building your brand means positioning yourself as an expert in your niche. It requires additional work, but the pay-off will make it so worth it.

You can position yourself as an expert by doing the following:

There are many more strategies to build your personal brand. The important thing is to keep it genuine, be yourself, and offer real value.

One of the most under-rated tactics is Content Writing.

This strategy got us (and continues to get us) many client leads.

It works – do it!

Learn how to get clients here: How to Get Clients as a Freelance Developer: The Complete Guide.

Watch How to Get Clients Here:


1 –  Give Excellent Service to Every Client

No matter how well you market your services, and even if you do all the top tricks in building your reputation, nothing will work if you don’t provide excellent service.

Seth Godin says, “Every interaction, in any form, is branding”.

Excellent service doesn’t end in making great websites.

It also involves clear communication in every phase of the project, delivering outputs in the agreed timeframe, and being professional at all times.

If you give your clients the best experience possible, they will happily refer you to anyone in their network who needs a website – which is a huge thing considering that 92% of people trust recommendations from family and friends more than any other form of marketing.

Good marketing will bring people in. But a great experience will keep them in and turn them into your loyal customers and brand ambassadors.

2 – Discipline Always Wins

After reading these amazing strategies, you might be feeling fired up and ready to take on the world.

But time will come when you will feel tired, discouraged, and demotivated. You won’t feel like sending out outreach emails or write blog posts.

Should you step then?

When not even your biggest “why” is enough to get you going, you need to rely on pure discipline.

Set a schedule of the things you need to do and develop the discipline to follow it despite how you’re feeling that day.

If you’re disciplined enough to follow through your action plan day after day, you will reach your goals no matter how long it takes.

Those were the steps you can take to become a successful freelance web developer.

There is no one way to get there, but I hope these tips and strategies help you on your freelancing journey.

See you in the next article!

Just finished reading How to Start Freelancing as a Freelance Developer

This content was originally published here.