The Perils of Freelancing without a Contract
Tags: freelance, upwork, webdev, discord
Published: 2023-09-18 11:21:50

The story begins when I was tired of freelancing on Upwork due to the unsettling feeling of being constantly monitored by the application while working on hourly jobs. Even when the time tracker was off, I found myself still mentally engaged in the tasks, which made me dislike the time tracking feature. It was frustrating because I spent countless hours solving problems, researching, and communicating, but those efforts couldn't be accurately tracked. However, despite these challenges, I still enjoyed freelancing and working with different clients, especially on Upwork, which provided a measure of financial security by protecting my earnings from clients who sought free work.

After some time, I discovered that people also post job opportunities on Discord. Each programming language or framework has its own Discord server, and I heard a friend of a friend got a job through the Next.js jobs thread on Discord. This inspired me to try applying for jobs on Discord, as it offered direct access to hiring individuals without any platform fees (unlike Upwork, which deducts 5% from earnings).

I decided to join the Svelte Discord server and its jobs thread. Admittedly, it was somewhat discouraging at first, as I didn't receive the expected number of replies. However, after two weeks of persistence, I secured my first SvelteKit job.

During the hiring process, my client requested a sample screen to assess my skills. I agreed, stating that if I completed the task, I wanted assurance that I would secure the job. The client explained that the sample screen was a test for all candidates, and I accepted since it didn't require a significant investment of time. I completed the landing page in just six hours and shared the deployed link with the client. Their positive response and request to share the code with their backend team were encouraging.

As we continued working together, my client proposed a payment structure based on milestones. However, due to my lack of familiarity with alternative service providers and the absence of an escrow service, I preferred to be paid weekly. The client agreed, but mentioned that client acceptance would still be necessary. This puzzled me, as I believed client acceptance was primarily related to reviewing the Figma design and implementation. I sought clarification and learned that approval involved the front-end developer's confirmation. This raised concerns about potential delays in receiving payment, so I inquired about the estimated duration of the approval process. I emphasized that it was essential to establish a timeframe to ensure I wouldn't be left uncompensated for an extended period. Additionally, I expressed my concern about backend integration, as it would impact my payment. The client clarified that integration would occur afterward.

Although the client insisted that the design changes wouldn't be significant, we couldn't agree on a definition of "big changes." The conversation became increasingly absurd, prompting me to move on. Despite this disagreement, I received payment for the completed milestones, but the client abruptly stopped paying me after the third week.

In my fifth week, I reached out to the client about the outstanding payments for the past two weeks. I requested a schedule or timeframe for receiving payment. The client responded by stating that I needed to finish the remaining milestones. I completed the small tasks and reminded the client about the pending payment.

The client then requested to review my work, which surprised me. By this time, over a month had passed, and I hadn't received payment for the previous month, except for partial payments. Nonetheless, I agreed to a meeting to review my work. After the meeting, the client promised to get back to me by Monday, but I never heard from them again. I stopped working entirely after a week, and the client removed my access to the repository and other company resources.

The client owes me $640 from the first month and three weeks of the second month. Consequently, I ceased working during the final week of the second month. I share this experience as a cautionary tale, highlighting the presence of unscrupulous clients. Freelancers must protect themselves by establishing legal agreements or using escrow services like Upwork or similar platforms. My intention in sharing this story is to help others be aware of potential red flags and to encourage freelancers to prioritize self-protection. While it may be tempting to accept any job out of desperation, the struggle to receive payment for completed work can be disheartening and leave you powerless.

P.S. I also learned from other developers that they haven't been paid by this client either. In the past, the client warned us not to communicate with a fired developer, citing their lack of responsiveness and the team's inability to tolerate such behavior before a launch (another red flag). However, I contacted the developer and discovered that they had experienced the same issue with this client. This individual is undoubtedly a bad client to avoid.