Then They Asked When the Plugin Would Be Ready

On this page

Early in my freelance career, on Freelancer.com, I took what looked like a straightforward website job.

Build a promotional site. Deliver it. Hand it over. Ongoing maintenance was not part of the agreement.

There were written project documents at the start. They existed, and I still managed to expand the job underneath them.

This is a personal story from that platform. It is not a review of Freelancer.com, and every client there is not the same.

It started with a platform the client already had

The client already had a Weebly website. They did not understand why I could not simply put WordPress into it.

We talked about the platform differences in live chat. I wanted to help, so I agreed to migrate the existing website into a new WordPress build without appropriately revising the budget. Only afterwards did I properly appreciate how many pages were involved, and I recreated them manually.

I consciously accepted the initial loss. My hope was that doing a great job would lead to a positive outcome and a stronger portfolio.

That hope is not a pricing strategy. It is how early freelancers talk themselves into free work while still calling it a project.

Then came more pages, and more Word documents

The client also needed new pages and a new product featured prominently. I believe that product-promotion work was probably part of the original brief, so not every new page was scope creep.

What followed was messier.

The client wanted the content on the old pages changed. Word document after Word document arrived individually, and each one meant more revisions and more work.

This is the part that looks obvious afterwards and felt gradual at the time. Migration I had knowingly accepted. Product pages that may have belonged in the brief. Content revisions that kept arriving as separate files. No single moment announced that the job had become a different job. The understanding just drifted.

Eventually I tried to talk about the additional work and payment. The conversation became hostile. As I remember it, the client accused people on the platform of trying to take advantage and insisted that the job simply needed finishing.

I carried on. I worked late. I finished the migrated pages, the new pages and a design I was proud of, especially as I was still relatively new to design work.

Pride is a dangerous billing tool.

The sentence that changed the shape of the job

Then the client wanted to stop paying for an existing hosted form service and use a plugin of their own.

At first I misunderstood this as a request for guidance: replace a form plugin, deactivate the old one, update the relevant shortcode. Ordinary website maintenance advice, or so I thought.

Then they asked when the plugin would be ready.

That was the turn.

What I had heard as “help me switch a form” was, in their mind, “build the custom plugin, including a form and calendar integration, as part of finishing this project.”

I do not remember the exact hosted form service. What I do remember is the gap between the conversation I thought I was having and the deliverable they thought they had bought.

How it ended

The disagreement escalated and went through the platform’s arbitration process.

As I recall it, I received no payment for the work completed. The client received refunds of the deposit and milestone payments. My request for additional payment was part of the dispute. I was left with a negative platform balance and had to put money into the account before I could take another project. During the dispute, the client kept the website and my access was removed.

There was no later payment. No neat portfolio win. No soft landing.

I did not leave Freelancer.com immediately after this. I tried again. That later experience is a separate story.

What I would do differently now

My specific mistake was not that the client asked questions.

It was that once it became clear they misunderstood the job, I should have paused and revised the scope immediately.

Having initial documents did not protect me, because I later agreed to additional work in chat and kept going without aligning the price and the completion criteria.

I can still tell the difference between the pieces:

  • Work that likely belonged in the original promotional brief.
  • Migration I knowingly accepted without a proper budget change.
  • Further content revisions that arrived as a stream of documents.
  • The unexpected expectation of custom plugin development.

Not every concession was forced. Not every request was obviously outside scope from the first sentence. The accumulation and the ambiguity were the problem.

Taking responsibility for those decisions does not mean I deserved hostility or nonpayment. Those are separate sentences, and both can be true.

If a platform misunderstanding changes the deliverable, I would pause before implementing it. I would write down what is now included, what is excluded, the revised price and what counts as finished. I would agree how further content revisions will be handled. And I would treat custom development as its own deliverable, not as a quiet extension of “finish the website.”

That is what I would apply now. It is not a guarantee against disputes.

I said yes because I wanted to help, deliver something good and improve my portfolio. The project ended with a site I no longer controlled and no money for the work.

The useful lesson is smaller and sharper than the drama: when the understanding changes, stop and revise the deal before the next late night begins.