It’s been almost three years since I left my full-time job as a Data Engineer and started freelancing as a full-time gig. My professional growth took a steep upward turn as I was hustling to get my first client or a new project.

More than growth or money, I wanted to find where my interests truly were. Not to mention, working to make my own ideas come to life gave me immense joy.

One question that I often encounter with regards to my profession is,

How did you manage to get your first freelancing projects?

Because everyone knows that getting your first gig is arguably the hardest part of freelancing. This blog post and video (at the bottom) is about building a strategy to start your freelancing career.

Why freelancing?

Who doesn’t want to set up a side income if you’ve got the time? Maybe you want to save up for a car or maybe you want to take a break year. That’s where freelancing comes in.

Not to mention, you can become “your own boss”, work from a beach house in shorts, and at the same time, there is no limit to how much you can earn. You possess control of your growth.

So, here you go!

Five Steps to Follow to Get Your First Freelancing Project

As I see it, there are five steps you need to follow that'll help you get your first gig and establish a freelancing career. Here they are:

  1. Identify your skill as a service
  2. Define your ideal client or market
  3. Build your portfolio and profiles
  4. Market your services to clients
  5. Capture the results/gaps, analyze the output at each step, and attune your approach to keep growing.

Step 1 — Identify your skills as a service

The skills section of your résumé simply lists down your knowledge in terms of technologies and techniques. But you have to identify what you can do with each of those skills in the real world.

Make it explicit so that the client understands what you can do for them.

Your skills could be:

  • Web development
  • Graphic design
  • Digital marketing
  • Data Analysis

Your services could be:

  • Building high-performance end-to-end websites and web applications.
  • Creating beautiful illustrations and digital artworks for websites, videos, and posters.
  • Helping individuals and SMEs in promoting their products and services online.
  • Crunching data to uncover patterns and answer important business-centric questions to make informed decisions.

You can see the do's and don't's at each step in this infographic:


Most people struggle with taking the first step. They are not sure if they are ready yet. I believe you’ll never be ready. Just start!

Here’s a tweet from Gumroad’s founder, Sahil Lavingia:

For the rest of the article, I am going to focus on web development and data science services, but you can apply these principles to almost any service that you have to offer.


  • Look for people who have made a successful career out of freelancing. Study and replicate their process.
  • Learn to use the right phrasing— tell your potential clients what you do and why you are better than the rest.

Step 2 — Define your ideal client or market

This whole blog post basically tries to answer the question, “how do you land your first client?”

There is no freelancing career without clients, but that doesn’t mean you should reach out or pitch your services to just anyone. This won't do you much good, and instead will add to your frustration.

Since you have your niche from the first step, now do some research on who needs that kind of service.

Examples of a few clients may include:

  • Web development — Local stores, fitness instructors, institutes, hotels, creators (hot right now)
  • Data Analysis — Data-driven startups/orgs
  • Developing ML models and apps (DevOps)— Platform as a Service and Software as a Service organizations.

Who are not ideal clients (at least for a first client):

  • Franchise businesses
  • MNCs, heavily guarded corporates operating in stealth mode for their clients (ZS, E&Y, Deloitte, and so on)


  • Look for individually owned businesses for web development.
  • For data science projects and opportunities, first make sure you have a good grip on your fundamentals. Use platforms like codementor to help students with their projects.

Step 3— Build your portfolio and profiles

After determining your niche and your target clients, it’s time to set up your shop. In this case that can be your portfolio website (highly recommended) or profiles on platforms like LinkedIn, Upwork, Toptal, or AngelList.

Portfolio website

An important thing to note here is that you want someone to trust you with their business.

How can you make someone trust you?

You can start by telling your professional story. Portfolio websites are one way to do just that.

If you don’t have a story to tell yet, create one by working for yourself. You can build sample websites using commonly used themes available online, or you can propose to work on a project for a prospective client for free.

Most people mistake a portfolio website with an online résumé.

A portfolio website is not for you but for the clients that you want to target. It should showcase your services through:

  • Work samples — websites/applications, reports you have created, conference talks (if any), and so on. If you don’t have any samples, create a few! Develop dashboards/websites, host them, and show that you can deliver high-quality work.
  • Testimonials/recommendations — ask your former colleagues/bosses/clients to write you a testimonial.
    TIP: if you haven’t worked anywhere before, do 1–2 free projects for prospective clients and then ask them to write a testimonial. I have done 2–3 free projects where the person referred me to another party.
  • Write Blogs — this is something that has worked well for me. It is a way to establish your credibility. The blogs should contain relevant and authentic content through which the client can learn something about their business. Start by giving away!

Example ideas for blog posts:

  • How to reach a wider audience with a website
  • What type of business metrics your Dashboard/Reports should contain


Apart from having a website, you should also be socially present on professional platforms like LinkedIn. This will help you look for and connect with prospective clients. It can also give you work ideas, it lets you post updates, and helps you promote yourself.


You can use the same principles we just discussed above when you're developing your social media profiles.

A good profile can increase your odds of getting an opportunity for various reasons:

  • It shows how seriously you take your work.
  • It can display your work samples and proficiency in skills to offer a service in your niche.
  • It can add to your credibility if you have testimonials or recommendations written by an authentic colleague/partner/ex-boss.

Freelancing platforms

Upwork profile

In addition to LinkedIn, there are a number of platforms that host a complete freelancing ecosystem with clients posting their needs and freelancers bidding to do that work.

A few of the major platforms to look for freelancing projects/work include:

  • Upwork
  • Toptal
  • AngelList (for jobs at startups)

So, how can you be successful as a freelancer on these platforms?

I’d say there is not one but multiple aspects of a profile that you have to get right. Your success relies on the following:

  • Your proficiency in the skills you have listed on the platform.
  • How well-curated your profile is.
  • Your proposal for the job. It tells the client how good of a fit you are for that advertised job.
  • Lastly, luck! It plays a very small and rare role if you get the first three aspects right.

Here are a few tips to build an attractive and authentic profile:

  • Review projects that you’d be interested in applying for. Note down the keywords and skills that these clients use to describe their needs (skills that you possess, of course). Add these skills (strengths) to your profile that can connect you with the relevant projects. List up to 10 skills.
  • Upload a professional picture along with a short and succinct bio that describes your niche/services.
  • Highlight your best work in the portfolio.
  • List down your certifications if you have any. Add weight to your profile.
  • Be consistent with your skills, complete all sections of the profile, be concise and straightforward, and proofread each section.

Step 4 — Pitch to clients (outreach)

It’s time to get down to business. If you can sell your services and show that you're well-suited to the clients’ requirements and budget, you might win the opportunity.

But first, you need to get clients to propose to. This is where you need to work on your visibility and outreach.

There are a number of ways you can do that:

  • Reach out to clients on platforms like LinkedIn — this is what worked for my niche!
  • Use freelancing platforms —  Upwork (general), Toptal (engineers), codementor (if you’re an expert), and AngelList.
  • If you want to go one step ahead, use Google Adwords (advertise your services) or create a Facebook group for selling services in your niche, in your physical location (city/state).

My approach (not necessarily good for your niche!):

  • I do a lot of research to find organizations that align well with my niche. I mainly use LinkedIn, Twitter, and Google search (browsing) for this.
  • I had categorized the shortlisted companies (~50) based on their domain (fintech, healthcare, Ed-tech) and created a template message, kind of like a cover letter, to go with the projects that they had in the pipeline along with my own ideas.
  • Used to send samples of my work in each domain. If there was nothing to show, I’d start a new project in that domain and send them my GitHub repo to tell them what I was working on.

I landed my first freelancing client via Udacity in 2016. It was because I was one of their alumni and they launched a new platform. My proposal suited the client’s needs and I got hired. I consider myself fortunate in that regard.

It got easy after that:


Step 5 — Capture the data, analyse them, and attune your process

You might land your first project in a day, in a month, or in 6-months. Either way, an integral part of the process is to keep improving.

You might fail at your first attempt but use that failure to get better at it.

Capture the data:

  • The number of projects/clients you reached out to. How many responded, got interested, rejected, or went ahead.
  • Why your proposal got rejected. Request a comment from the client.
  • People who are successful in your niche, what are they doing differently?
  • What’s new in your niche? How are people operating?

Analyze the data:

  • The gap between the requirements of the project and your portfolio — see what’s missing.
  • Understand each data point you’ve captured, funnel the type of clients whom you had more chances to convert.
  • Create a separate category of clients for whom you have to bridge a gap between their requirements and your expertise.

Attune your process:

  • Start working on new projects to attain new skills or master the ones you have enlisted.
  • Restructure, polish and attune your profile to the client’s needs.
  • Re-write the proposal emphasizing their needs and your services along with your work samples and numbers/statistics (if applicable).

If you are spending 2 hours a day on creating proposals and pitching to clients, then spend at least 3–4 hours on polishing your skill. Your strategy will only work if you have that curiosity to learn and build every day.

Stick to these principles and it’s only a matter of time before you land your first freelancing client.

What are you waiting for? Let’s get started!

You can also watch the video on this topic on my YouTube channel:

If this tutorial was helpful, you should check out my data science and machine learning courses on Wiplane Academy. They are comprehensive yet compact and helps you build a solid foundation of work to showcase.