paint-brush
My 3-Year Freelancing Journey: How I completed 1200 Projects and Earned the Big Bucksby@kriswaters
23,555 reads
23,555 reads

My 3-Year Freelancing Journey: How I completed 1200 Projects and Earned the Big Bucks

by Kris WatersJuly 11th, 2024
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

Kris is a full-stack web developer with a 12-year professional work career. In 2017, he got tired of working in the same field, so he started looking for other ways to enjoy his life while working on projects that needed professional help. He decided to leave his corporate job and continue his career as a freelance programmer. He shares his tips and tricks about freelancing.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - My 3-Year Freelancing Journey: How I completed 1200 Projects and Earned the Big Bucks
Kris Waters HackerNoon profile picture


Hey, my name is Can İz, but people know me as “Kris” in the freelance space. I’m a full-stack web developer with a 12-year professional work career. In 2017, I got tired of working in the same field, so I started looking for other ways to enjoy my life while working on projects that needed professional help. I got involved in a couple of startups and felt the energy and freedom of creating things I loved. At the end of 2020, I decided to leave my corporate job and continue my career as a freelance programmer.


Between 2017 and 2020, I developed an interest in finance. I learned technical analysis, which helped me find my new niche in the freelance world. On platforms like Fiverr and Upwork, there’s a lot of competition. That’s why picking your field is the most important decision you’ll make when entering the freelancer world.


I’m here to share my story of a 3-year freelance career with over 1.200 completed projects as a “Pine Script” programmer. I will provide tips and tricks about freelancing, and I hope you’ll find them useful for your own journey.



1. Communication is Key — Create Your Own Communication Style and Template Words

In my early days as a freelancer, I had no idea how to convert connections into paid tasks. After taking on many projects, I understood which communication styles worked best. Once I realized this, I started creating “template sentences.”


Here are some examples that work well for me:

  • Hi Joe, thank you for reaching out to me. If you can share all the details, I will check and keep you posted soon.
  • Thank you for reaching out to me. I will check the details and keep you posted shortly.
  • Thanks for the detailed explanation. I understand the idea. I can code you a strategy script based on your instructions in “X days.” My service fee would be “X US$.” Please let me know if you have any questions.

2. Create Articles and Share Them with Your Customers When Needed

At the end of a project, you may need to share information with your client on how they can view or execute the delivery. This content generally remains consistent from client to client. For such scenarios, I recommend preparing guide content. This way, you can save time and leave a more professional impression on the other party. For example, I save the code I write in a text document and share it with my clients. They need to transfer this file to the platform where they will view the result and perform the compilation process. I have a guide that explains all the necessary steps for my clients to view the result smoothly and accurately. Instead of writing the same thing with each delivery, it is sufficient to share the link to the existing guide.

3. Create a Repository — Use It for Similar Tasks

Organizing your completed work systematically can be incredibly beneficial for future projects, as you can reuse it for similar client requests. This can save you time and effort. For instance, as a programmer, while client requests may be unique, they often ask for features that you’ve implemented in previous work. With good archiving, you can easily find past work and use existing components for new clients instead of starting from scratch. I keep all my work in a single folder. When I remember that I’ve created a similar code for a previous request, I can easily access the work related to code scanning with the help of a text editor within the file.


For a designer, organizing their archive in nested folders would be more meaningful. Instead of consolidating all their work in one area, dividing it by industry (clothing, education, sports), type of work (logo, letterhead, website), and even color scheme, into different folders would make it easier to find the desired work when needed.

4. Check Your Messages Frequently — Speed is Key

Especially at the beginning of your freelance career, it’s beneficial to check your inbox frequently. Due to the low number of completed jobs and feedback received, one of the few aspects where you can stand out is your response time. Downloading the mobile application of the platform you use and enabling notifications can make it easier to access incoming messages and provide faster responses. Even if you’re busy at the moment, by indicating that you’ve read the message and will respond in detail as soon as possible, you can prioritize in your customer’s mind.

5. Follow the House Rules — Do Not Share Any Contact Info Over Freelancer Platforms

The revenue source for freelancer platforms is the commission they take from completed jobs. This commission is deducted from both the seller and the buyer, so your clients may ask you to share your email or phone information to pay less. If you aim for a long-term freelance career, never share your contact information with your clients. Your communication history is scanned with bots to control such violations. If such a violation is detected, your account may be closed, your balance frozen, and you may not be allowed to work on the same platform again. Therefore, if your client makes such a request, you can inform them that you cannot share your contact information due to platform restrictions. In this case, your client might share their own information with you, which would not cause any problems for you as it would be a violation on their part.

6. How to Avoid Toxic Clients?

It is every freelancer’s dream to work with clients who know what they want, can describe their request well, respect your work and effort, and provide meaningful feedback. Unfortunately, all these criteria are found in very few people. Therefore, when taking on a new job, your priority should be to work with clients who have good communication skills rather than focusing solely on the money you will earn.


Poor communication can result in time, money loss, and stress. Think twice before starting to work with people who cannot clearly describe their request, send each sentence as a new message instead of sharing their request in a single message, and engage in tight price negotiations! The time you plan to complete the job can increase two to three times in such cases. Since you have made an agreement on the fee at the beginning of the job, the most reasonable method you can apply is to deliver the work as soon as possible and not to work with the same client again.


Usually, clients like these also come up with different requests in addition to the criteria you agreed upon at the beginning of the job. In this case, you should hold onto the initial agreement tightly and inform them that new requests are not included in the initial offer and that you will need to charge an extra service fee for them. Otherwise, they may try to take advantage of your good intentions and expect to get three units of work for the price of one unit.

7. Cancellation Issues — How to Avoid Them?

Usually, the cancellation process occurs because either you did not understand your client’s request well or your client could not express themselves clearly. There may be a difference between the output expected by the client and the output obtained. Even though the problem cannot be solved with clear feedback, unfortunately, as a last resort due to insufficient feedback, an agreement is reached to cancel the project and the refund process is initiated.


Freelancer platforms also have a dispute resolution process, but they are generally focused on protecting the client rather than you. If you are confident in your delivery and cannot convince your client about it, you can defend yourself and protect the fee you received by applying to the platform’s dispute resolution process. Although this situation has happened to me a few times, instead of getting into an argument, I always chose the refund route. Out of a total of 1200 projects completed on the Fiverr platform, my project cancellation count is 15. This corresponds to a rate of around 1% and is acceptable.



If you have doubts before starting a job, you can offer your client to provide a sample output, and if you are on the same page, you can start the project. Consider the time you will spend on this offer, and if you need to work long hours, you can inform them that you do not want to take the project.

8. Don’t Be Afraid to Ask About Unclear Parts

As a freelancer, there’s nothing more natural than asking questions. It leaves a positive impact on the other party, showing that you’re trying to better understand the job. The main reason for asking many questions is that the person describing the job hasn’t shared the details clearly. So there’s no need to feel bad or hesitant. Clarify all the details by asking questions before taking the job; otherwise, you’ll end up having to ask and learn as you go after you’ve already accepted the job.

9. How to Set My Price in the Early Stages and After Gaining Some Experience?

Before creating a profile on a freelance platform, review the services, prices, and delivery times offered by your competitors. Initially, offering similar content at one-third of the price and, if possible, delivering it in a slightly shorter time will increase the chances of someone with few or no reviews getting the job.


Assuming that as you receive more jobs over time with your chosen competitive pricing policy and quick response time, when you reach a certain maturity, you can update your prices. You can realize this maturity when you no longer have much time for yourself during the day and have a busy work routine. For me, this period was around 6 months. Over three years, I raised my prices three times in total and for about the past year I have been offering services to my clients at the same price.


Initially, my package fees were $45, $90, and $135, ranging from easy to difficult. Later, I updated them to $90, $140, and $240, and with my latest update, the package fees for the services I offer became $140, $240, and $340.


A low pricing policy can also attract toxic clients. Raising prices not only brings financial gain but also keeps troublesome clients away from you.

10. Be Aware of Your Value — Do Not Make Huge Discounts

If I were to give an approximate ratio, about %20 of the time when you mention your fee, they ask for a discount. Additionally, they may mention that they have more work and if they work with you on this project, they will choose you for the other projects as well. In the maturity period of my freelance career, I generally do not offer discounts to people I am working with for the first time. If such a request comes up and if we have a good understanding and maintain strong communication, I inform them that I could offer a small discount for the next projects. This usually means around a 10% discount.


In the early stages of my career, I used to feel a sense of disappointment when I missed out on jobs I had quoted for and did not engage in bargaining. However, now I am much more comfortable. My communication with clients who insist on discounts usually does not go well. In many of the projects I took by compromising, I ended up spending more time than I expected, getting more tired, and losing motivation. If you don’t want to experience such situations, insist on the fee you request and know your worth.


For clients you have been working with for long periods on different projects, you can make small gestures without them asking. This will strengthen your relationship and enable you to have longer-term collaborations.

11. Work Smart, Not Hard — Avoid Complex Projects, Try to Pick Simple Tasks and Multiply Them

Try to take on more projects that are relatively simple and can be completed quickly rather than challenging ones that require extensive research due to your lack of experience.


In a different scenario, a client might invite you to a video call because they are too lazy to write their requests in a document. Do not accept every meeting request. Instead, ask for a job description first. If the document you receive catches your interest and you are eager to take on the job, then proceed with the meeting.


These unscheduled video calls can disrupt your work pace, so schedule them as late in the day as possible or for the next day to plan your day according to the relevant meeting. During the video call, ask your client to also send their requests in writing or write them down yourself and share them with the client to ensure you are on the same page before starting the work.

12. Check Your Rivals from Time to Time, Track Their Price Changes and Workload

Visit the profiles of individuals who do similar work to you at regular intervals, check their pricing, and if less experienced individuals with fewer projects are charging more than you, consider raising your rates to at least similar levels.


At certain times of the year, your workload may increase or decrease. If you experience an unusual change, check the workload of other individuals. Freelancer platforms often display the number of active projects a person is working on their profile page.

13. Keep Track of Your Stats — Know Your Average Workload, Plan Your Day/Month/Year Accordingly

Freelance platforms have statistics pages where you can view your past performance, but this data is often irregular and doesn’t provide a clear overview at a glance.


To address this, I’ve created an Excel document where I can track all aspects of my projects. I input specific data each time I take on a new project and complete it. This includes the client’s name, project start date, profits, and net profits. Net profits data is used to determine the amount we earn after deducting the freelance platform’s commission.


Using this data, I’ve created “Net Monthly Profits,” “Monthly Completed Orders,” and “Net Profits per Order” charts using Excel. This allows me to see past period statistics on a single page in a more organized manner. This data can indicate to you which periods you may experience a high workload, if you have taken fewer jobs than usual in a month, you may need to push harder, or if you are performing above average, you may need to relax a bit. It can also serve as a guide for your annual potential earnings.



14. Write a Cool Explanation Text, Create Eye-Catching Project Pictures, and Don’t Forget to Put Your Portfolio

In your description, briefly describe the work you do, talk about your experience, and highlight your strengths.


In your project image, avoid using too much text; instead, try to convey your work with graphic elements. If your competitors have opted for colorful images, consider choosing simpler ones, or if they have chosen simple images, consider adding some color to differentiate yourself and attract attention. If you don’t have much experience in graphic design, I recommend using the Canva platform to prepare your project image.


Make sure to add completed projects to your profile as references. The work you’ve done is a guarantee of the work you’ll do. Your client may not see your references while browsing your profile and may request them from you via private message. Therefore, you should prepare a PDF document for your portfolio. When your client requests your portfolio, you can quickly share the document you prepared earlier.


Below I am sharing the sample description text and the current project image I used as an example:



15. Title Writing and SEO

In your title, you should use the keywords you want to stand out with in search results. Instead of writing “I do graphic design jobs,” you can increase your visibility in searches by writing “I design custom characters for your game using the Maya program.”


When your profile reaches a certain level, you can receive mentorship services from freelance platforms. On Fiverr, this program is called “Seller Plus.” By applying the advice your mentor gives you in a few meetings, you can further increase your visibility.



Your title doesn’t have to consist of a single clear sentence. For example, I noticed that searches for “pinescript” and “pine script” are quite common. I couldn’t decide whether to use a space or not in the project title. Upon my mentor’s advice, I wrote both one after the other, and this gave me positive feedback in terms of visibility in searches.

Here is the title I currently use for my profile:



16. Frozen Account Experience on Payoneer — Do Not Make Transactions into Payoneer Other Than Through Freelancer Platforms

Many freelance platforms work with a payment infrastructure called “Payoneer.” By opening a Payoneer account, you can link it to your freelance platform and transfer your payments to the relevant platform instantly. When you create your Payoneer account, you are assigned a bank account in the United States. Now I want to share a bad experience I had.


A client I worked with outside of Fiverr sent their payment to my Payoneer account. After seeing that the payment went through smoothly, I used a similar method with another client. Months later, I received an email informing me that my account had been frozen and that I needed to provide information regarding these transactions. Thinking it was a standard procedure, I shared all the requested information.


About 20 days after sending the documents, I received a negative response requesting the documents again. It might be one of the worst customer service experiences I’ve ever had. I couldn’t get a clear answer to my questions about why my document was not accepted. I prepared an invoice with my client and shared it again with Payoneer. After another 20 days, I encountered another rejection email. I was very sure that I had provided the requested document correctly and completely. In addition, they requested another document regarding my business relationship with another client. I contacted my other client and prepared a similar invoice. After contacting customer service again and sending the requested documents within the day, they finally accepted the documents at the end of the standard 20-day review period and reactivated my account. My account was frozen for exactly 3 months. During this time, I continued to work as a freelancer but could not withdraw the money I earned to my bank account, which put a lot of strain on my cash flow and increased my work stress. After this negative experience, I never accepted direct payments from any other client to my Payoneer account. My advice to you is to use Payoneer only to withdraw your earnings from freelance platforms. Do not accept an external client’s payment to your Payoneer account to avoid account freezing!

17. Keep Track of Your Work Due Date — Use Trello for Prioritization, Do Easy Tasks First, and Handle Complex Tasks in the Morning with Your Best Brain Capacity

A freelancer should always be organized and systematic. If you fail to deliver on time, it will have a negative impact on your profile. Therefore, it is better to prioritize your jobs approaching the deadline. You can use Trello to not forget your active jobs and prioritize them. You can do relatively difficult and attention-demanding tasks at the beginning of your work session and simpler tasks for the rest of the day. When you have multiple tasks to do, prioritizing the easy ones that you can easily complete will boost your motivation and make your head clearer while working on the task that requires more time.

18. Do Not Check Messages While Working

If you are working on a task, try to isolate yourself from all distractions as much as possible. Stop checking messages from the freelance platform! By separating your working hours from the time you communicate with your clients, you can shorten your total daily working time.

19. Do Not Deliver Too Early

Even if you tell your client that you will deliver the project in three days and complete the work, never deliver it at the end of the first day! Keep the product you prepared aside and share it with your client as your delivery time approaches. Otherwise, it may be thought that you did a rushed job. You should not put your client into the mindset of “since he/she told me three days and completed it early, he/she can also add these extra features.”

20. How to Reduce Stress — Take Payment After the Task is Done (For Well-Known Customers)

On freelance platforms, when a buyer and seller agree on a job, the buyer must make the payment before the work begins. The paid amount is held in the main pool of the freelance platform, and once you deliver your work and receive approval from the buyer, your payment is transferred to your account after deducting the platform’s commission. The freelance platform follows this method to protect both you and the buyer.


If you choose to receive payment after the work is completed, there will be no person or institution you can claim your rights from if you do not receive payment after delivery. Despite all this information, you may still choose to receive your payment after the work is completed in some special cases.


Complex and difficult projects are often rejected by many freelancers. Therefore, the buyer may be willing to pay you an above-average fee. You can accept the job that no one dares to take on, taking the risk of not receiving payment. In case you cannot handle the task, you can ask your customer to seek advice from someone else by writing down the reasons. This way, you will not be affected by the negative points that would normally be reflected in your profile due to the cancellation application that should be applied and the negative impact on your profile.


To reduce delivery stress, I usually receive payments from my customers after the work is completed, especially for customers I work with on two or more projects. For first-time customers, it’s best to wait for payments before starting the work.

Bonus — What I’m doing right now?

Over the last three years, I’ve been working with traders and analyzing their requests, which inspired me to create the GetPineScript project.


GetPineScript is a Pine Script code generator designed for traders who need custom indicators or strategy scripts for the TradingView platform. This platform automates the code generation process, making it easy to create scripts with the most requested and commonly used functionalities, saving you time and effort.