I worked as a freelance graphic and UI/UX designer for many years before switching to a full-time position at Microsoft. Freelancing can be challenging to get started with—and it’s not for everyone, but the freedom to pick your projects, working hours, location and working style can be appealing reasons to try it.

Before starting

Creating a portfolio and getting ready to accept projects

Show your work

Create a place to show your work. This could be a portfolio on a site like Behance, Vimeo, Medium, or your own website. Putting your work out is more important than having it in any particular format.

If you are actively looking for jobs, also keep an updated copy of your resume on your website. Here are some tips for making a great resume.

Get a work website and an email

“Looking” professional can help a potential client to trust you with their project. Once you buy a domain, setting up a custom email can be done for free using tools like Zoho. Your website can also feature reviews from clients.

Estimate your available time

If you aren’t freelancing full time, make sure you actually have the time to work on the projects you are taking up. Account for time spent studying, finding new projects, managing finances, personal chores, entertainment, etc.

Getting projects

I built up a steady flow of projects by constantly reaching out to new potential clients, and These are two things that worked for finding new clients.

Cold messaging

Follow people and join communities of people who create things. This could be online on Twitter/Instagram/Discord/Facebook or offline at meetups/events. When you see someone talking about a project that sounds interesting, show them your portfolio and ask if you could help them with their project. Some people will not be interested, but others might show interest and some of those will lead to projects.

Offer a freebie

This is more time intensive but also tends to get more responses. When you see someone posting about their product, do a quick critique and show them what a better way to handle it could be. Make sure to be polite about this—not everyone is happy about a random person pointing out problems with something this made. If you feel they are appreciative, offer to help them further improve their product as a paid project.


If you deliver great value to clients, they will often refer you to other people they knew. Stick to timelines, be communicative about delays or other problems, and mention that you are open to more work when you are closing the project.

“The Deal”

What are you going to do, and for how much money?

First conversation

When you first talk to a client, do your best to understand the scope of the project and the exact deliverables. You can check if there is a budget in mind, but do not immediately quote a number. Say you will follow up with an estimate.

Follow up

Write down the scope of work, how much time you estimate it will take you to do it, and the expected payment schedule for each deliverable. I have a template for this here. Share this with the client over email—this gives them some context into where the money will go, and also makes sure you are both on the same page about what you will deliver.

Insist on an advance

Ask for 10-25% of the project cost up front as an advance. Do not start any work on the project till the advance is in your bank account. If a client is unwilling to pay a token amount to get the work started, they will likely not be willing to pay you the full amount once you deliver the work. I have learnt this the hard way.

Estimating for unclear scope

When giving an estimate for a project with an unclear scope, give an estimate for the worst case scenario. Let the client know that it’s an estimate and that you will charge them for the time it actually takes, but in no case will it be more than the estimate.

For eg. if your hourly rate is $25, and you think a project might take about 10 hours, quote $300-$350 instead of $250. Be honest with your billing, and if it took less time, your client will feel like they got a good deal. If it actually does take longer (which it often does, things can always go wrong or just be more complicated than expected) you will have a little bit of breathing room in your estimate.

Underpromise, Over-deliver

Give the client just a little bit more than you promised them. If you charged for a logo, throw in some business cards. If you’re designing an app for a new startup, create some social media banners for them. Figure out what your client could use, and if it doesn’t take too much effort, do it. This is also a good way to get referred to new clients-people tend to remember and appreciate things like this.

Track your time

Use a time-tracking app like Toggl to track how much time you spend on projects. This helps you get better at estimating how much time tasks actually take you, and where your time is going.

Once you have a few projects

Freelancing in the long term

Plan for stretches of no work

Unlike a job where there is usually a consistent flow of work and a consistent income, freelance work can come in ebbs and flows. You can sometimes get a lot of work together, and at other times it can feel like there’s nothing for a long stretch. You need to build up savings.

Plan for too much work

The flip side of not having work is having too much work. There are only so many hours in the day, and if you take on too much work at once, you may be unable to deliver work on time.

I’ve kept in touch with a network of people who do similiar work, and instead of taking on too much work and then being unable to deliver, I sometimes brought on friends to help. Pay your friends generously for their help and they will be happy to help out—but be wary of relying on them too much when there are tight deadlines or critical work. Business relationships going sour can break friendships.

Set some boundaries

When you are your own boss, you set your own work hours. Don’t like getting up early? No problem, work at night! Feel like taking a day off when there’s not much to do? That’s fine too. However, the flip side is that when you have no clearly defined time off, you are always “working”, and the work can start to take over your entire life. At the peak of my time doing freelance work, I had a few different clients spread across India, Baku, UK and USA, which meant I was often up at odd hours for calls and I would carry my laptop nearly everywhere I went in case I had work. Keeping clients happy can mean that I would not say no for urgent requests that came through even outside of my usual work hours. This will cause burnout over time.

Keep learning

If you get very good at one thing, it’s easy to keep doing the same thing because you understand it better and get faster at it. However, it is also very easy to stagnate in such a situation. It is crucial to keep trying new things and keep yourself from stagnating. Challenge yourself to try new things in your work, or set aside time for learning.