Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

IvyIvyIvy's avatar

Insuferable client, I'm ready to jump out of window and I hate my life

A got an offer. We agreed on functionalities that the web gonna have. Like for example registration, add posts, edit them....whatever. I guessed it for about 3 weeks of work and priced it accordingly. It's his hobby website, nothing special. Great.

Once I started working guy started to sending me literally walls of text. I will for example start working on registration (it's literally 5 fields and button). And this guy will send me 12 pages of text in Word. 12 pages of text!!! Literally describing every element, it's behavior, it's position. Everything. And it has to be pixel perfect and work as described. Otherwise he will send me another 8 pages of text describing what to change. How can you even generate 12 pages about registration? Now I know how.

Right now I'm 3rd week into it (I should be finishing at this point). I'm in maybe 30% of the project. I already processed like 200 text pages of his instructions. This morning I received 18 pages of text describing how "create post" should work and look like (it's 16 pages of pure text + 2 pages of images).

Problem is I can't really call him out on demanding more than we agreed on. We are sticking to agreed functionalities. Problem is he will generate 40 pages of text about every functionality + 20 extra pages as revisions.

I tried to brute force development by going ahead and develop functionalities on my own. But he will just ignore my results. And continue sending me walls and walls of text about next functionality he want's to work on.

Right now I'm going to read 16 pages about "create new post page". And I really hate my life at this moment.

0 likes
6 replies
IvyIvyIvy's avatar

Also, he is no 'visionaire' that would be redefining the future of the web.

It's always 20 pages of text and 10 pages of that is incoherent rambling, contradictory demands or absolutely impossible demands. But you still have to go through it and try to make any sense of that mess.

Urghh.

automica's avatar

@ivyivyivy we had issues like this with a client who kept sending instructions by email and making microscopic changes as he went on which became really difficult to track. He also had a habit of getting us to do and then undo tasks and was having difficulty understanding that it would cost more if he couldn’t make up his mind.

We approached solving this by moving all tasks into a ticketing system (we use codebasehq.com - there is a free tier here for a single project).

We broke the tasks down into smaller chunks and that meant both us and him could track progress and keep on top of any questions that came up.

We also use it to track time spent on task so it it’s clear long it takes and what will be billed.

You are perfectly in your rights to say to the client that his instructions are unclear. You are also in your rights to explain unless the process becomes easier it will cost more to do as it will take longer.

You are also entitled to ask for interim payment if he is being awkward so you get paid for what you’ve done so far.

Don’t suffer with this. You don’t have to put up with awkward clients.

IvyIvyIvy's avatar

Ticketing system is a great idea. I will definitelly implement this. Thank you.

automica's avatar

What I’ve found too, especially using a ticketing system, is that it’s really helpful to define ‘acceptance criteria’ which is essentially a checklist of what needs to be done to complete the task.

This becomes super helpful if client supplies a big list of amends as you have have

  • change title to x
  • remove first paragraph from x
  • update image etc

It’s a good idea to make tasks in tickets to be completed in an hour or 2 tops as then. If it’s too complicated to do in 2 hours then break the task into smaller tickets and link them together.

Whilst this might not help completely with your current client, it will give you confidence in planning for new work.

We estimate work based on time taken and bill based on logged hours. With anything the estimate is a guide not a fixed price.

If your client needs a fixed price, estimate and then add a 20-40% contingency to it and tell your client you have. That means all well you can do the job for what you estimate but if it takes longer (which it’s bound to do so) then you have scope to bill more.

All this learnt by problems like you’ve faced, over 20 years in web. Hopefully it’ll make it easier for you too.

IvyIvyIvy's avatar

Yep, I will look into it at the afternoon. Thanks.

I just hope that instead of receiving of 20 pages of text it doesn't turn into receiving 20 tickets each containing 1 page of text.

automica's avatar

@ivyivyivy we used to clients who said, I've changed text for this page and would send a new document everytime they changed only a few words. very annoying as we would have to completely reformat the word file to clean it up for web.

We now ask, supply a document showing the bits that have changed, and only deal with text changes once the site is nearly ready to go live.

Keep amends to the QA stage of your project. it doesn't matter what text you develop the page with. Often we'll just use lorem ipsum.

Please or to participate in this conversation.