How to deal with ‘clients from hell’
(Indecisive, jerks, dreamers, bad payers — how to deal with each one of them)
The client who doesn’t know what she wants
Imagine walking into a doctor’s office with a green and sore foot, saying to him:
— Doctor, I’m sure it’s gas gangrene, you need to amputate my foot immediately.
You probably prefer your doctor to examine you first, confirm that it’s just a varicose vein (which can be easily treated), rather than jumping on a saw and starting the amputation just because you said to.
The same goes for your customers.
It’s not their job to know what they want.
You must help your customer to question their preconceived notions and develop a new perspective about “what could be”. You need to elevate yourself beyond the status of ‘vendor’ and become a partner in creating a better situation for this customer.
It’s important that you learn how to explore and heighten conversations.
It means finding out what your customer cares about (budget, market shares, career growth in his company…), and then focusing the conversation on those things. When you do this, the customer is more likely to share their thoughts and feelings openly with you.
As you explore a conversation with a customer, don’t just focus on what your services can do or on the specific solutions it provides. Instead, try to elevate the conversation to find out the higher-level reasons why your services matter to them.
After all, your customer doesn’t just want your product — they want something better for their business or themselves. Helping them see how your product can help them achieve that better state is key.
One customer of mine wanted to build a product that synchronizes ReactJS components into Figma. After a first conversation, we understood that their higher goal was to remove friction between designers and developers. So we suggested abandoning the initial idea and building a Figma to React synchronization plugin instead. By entirely reversing their product, they got immediate traction with several hundreds of users in the first week of their beta.
Client generating a constant flow of new ideas
I’ll be honest with you, I am of that type. Just since this morning, I’ve already thought to create :
- A subscription-based surprise, fully organized, week-ends, you could receive in a luxury envelope every two weeks and enjoy travels and activities without the hustle of organizing them.
- An anti-propaganda tool for armies to help fight bloody Russia, organizing crowds in a coordinated and directed way through social networks
- A fully AI-generated social media account, that creates content, interacts with followers, and responds to comments fully automatically.
- A marketplace of reusable software components sold as legos.
And I didn’t even arrive in the office yet.
Your client is probably just sharing her latest idea with you because she wants to hear your opinion on it. But if you’re the type of person who’s always ready to take action, you might automatically assume that she expects you to do something about it.
However, that’s often not the case.
People with creative minds can think of 100 new ideas before breakfast! There’s no way they — or anyone else — could keep up with all of them. So, when your client shares her latest brainchild with you, try to resist the urge to jump into action mode and instead just listen and offer your feedback.
You can also help your client by presenting her with a “scientific formula” to filter her ideas:
Good idea = (Users feedback + KPI’s impact) / (Time of delivery + Cost of development)
You can also rank the ideas by their sources: Single Person < Competitors < Users < Data. You need to explain to your client that an idea is almost always a bad one unless confirmed by the data.

Indecisive clients
Indecision is often a sign of :
- lack of self-confidence ;
- fear of failure;
- fear of conflict;
- or avoidance of responsibility;
We are free to choose, but making a choice inevitably leads to renouncing choice — for every yes there must be a no, each decision eliminating other options.
The root of indecision is loss aversion. We all experience loss aversion to different degrees.
So, insisting in a pushy way will not work here.
Instead, you must help your client with their decision, giving them as many details, implications, and data on each choice and its consequences.
Imagine your client is unable to make a decision about a CMS: should she use Drupal, an open-source project, without license costs but requiring a build phase of 200K$, or Prepr, a SAAS headless CMS that will cost 2000$ per month, but only 90K$ for the build.
One way to help her is to explain all the advantages and costs of each option.
But instead of that, I would go insisting on all the problems and bad consequences of each choice.
I would show her all the risks and downsides of each. I would be as negative as possible highlighting the worst.
Why?
Because, loss aversion is twice stronger in our brains than then potential gains (seems not that obvious based on recent research, though)
That means negative arguments will be twice stronger than anything positive you can say about each choice. I would say something like this:
- On one hand Drupal is dying, and you’ll have all the pains in the world to find good Drupal developers, the project will be late and you’ll spend probably 300K$ instead of the planned 200K$. You’ll spend thousands of dollars every year on maintenance and updates, and you’ll have to invest the same money within 5 years to rebuild your project entirely. The contributors will be unhappy and the performance will probably be an issue.
- On the other, you’ll be unable to modify anything on the SAAS CMS, you’ll continue to pay more as your traffic will grow. The SAAS editor can go out of business or change their price policy. You don’t know how effective is their support, but you can be sure that it will be always too slow to react. Your team will be probably unhappy and you’ll have no control over your platform uptime.
You see, pointing out the really bad things about each solution, inhibits your client’s fears. The decision will be easier to take, as she has already “been through”. It’s like getting back into cold water a second time.

A client who doesn’t pay you
You need to be extremely careful with new clients but old ones may put you at risk too. There are several situations where the client doesn’t pay you :
- You started the project, but the project is canceled by the client, who refuses to pay already engaged resources
- The project is finished but the client is ghosting you for the last invoices
- The client has cash-flow problems
- The client is acquired and the new company is ghosting you
- The client asked for changes and refuses to pay for them
Don’t start anything before signing a contract.
Even if a signed contract doesn't mean you’ll get paid, you’ll need it if you want to collect through lawyers. Never ever start anything before signing a contract.
Track everything in a written way.
If the client asks for a change during a call, notify them immediately afterward by mail of the changes he requested and the additional budget.
Make sure you get an acknowledgment for each. It’s absolutely key to track everything related to important decisions and budgets in a written form.
Stop working
It’s kind of a bomb but works perfectly well. Stopping everything after several reminders is a very efficient way to be paid.
Name and shame
Publicly naming and shaming the client on social networks like LinkedIn is obviously the last bullet you may have. Use it wisely. At least it can help other vendors to avoid working with them.
Intellectual Property trick
Remind that until you’ve been paid, you still have the intellectual property of everything you’ve done.
It’s a less known trick: you should specify in your contract that, until you get paid for your work, you remain the owner of the intellectual property of everything you’ve done. That means you could attack the client for IP infringement if you’re not paid. It’s way more powerful than a resolution over project-related disputes.

The client who never accepts budget extensions
It’s classical in fixed-budget projects. You’ve estimated the project for 100K$ and during the build phase, you discover a set of features that require more work than planned or entirely new features. You ask for 20k$ more and the client says:
- You said 100K$ in total, you must remain within the initial budget
- I have no more budget line for this project
- It can’t be that much, for this small feature
Be as precise as possible in the initial estimates, for example :
- Bad: “Newsletter management”
- Good: “Integration of Mailchimp API inside the CMS, sending the content created in the CMS to a pre-existing Mailchimp template (which itself, is out of scope)”
Doing so will solve two issues: if something new pops in you can clearly explain why this particular change is out of scope, and, avoids useless discussions about your estimates, because of their surgical precision.
If you want to learn more about how to estimate time for a project, I suggest my previous article on the subject.
Keep track of scope changes with a credit/debit shared sheet. You add every feature removed from the scope there with the corresponding budget as credit and every new feature as a debit. It avoids you to send out purchase orders to your client for 100$ every two days.
Thus, you can send one invoice per month where you add up all the credits and debts accumulated during the month.

A client who treats you like shithorse
I left this one for the end. I’ve tried to provide you with some valuable tips about each kind of client from hell. But, you should never accept irrespectful clients.
Trust me, you no project worth it. You will almost certainly lose money.
Stay calm.
Create a WhatsApp group and name it “Fuck”.
Add that one person to the group and make them an admin.
Now leave the group.
