Pivot

Notes on web design, development, and content

← Back to articles
Business & Startups

The hidden cost of saying yes to a freelance client

I took on a small freelance gig in February. Static marketing site, four pages, a contact form, a blog index that pulled from an existing WordPress install. The quote was $2,400. I figured maybe sixteen hours of work, give or take. Easy.

It ate three weeks of my life and I made roughly $14 an hour on it.

Not because the work itself ballooned. The work was fine. The work was the easy part. What killed me was everything else, the stuff that does not show up on the invoice and that nobody warns you about when you start charging for your time.

The actual hours, and the other actual hours

Here is what the sixteen-hour estimate did not include. The two scoping calls before the contract. The contract itself, which I rewrote twice because the client wanted to add a clause about “unlimited revisions on copy.” (Reader, I caved on that one. We will get back to this.) The kickoff call. The Slack channel they invited me to, which somehow generated forty-three notifications a day even though I was the only freelancer in there. The four follow-up emails about font choices.

Then there was the invoicing. I use Wave for invoicing now, which is fine, but every invoice still takes me about twenty minutes once you factor in checking the line items, double-checking the VAT situation (I am in a weird tax bracket), and writing the actual email that goes with it. Multiply that by three invoices on a multi-stage project and you have an hour right there. Then chasing payment, because nobody ever pays on the day the invoice is due. The first invoice took eighteen days to clear.

I have started keeping a rough log of this in a plain text file. Every time I do something for a client that is not the work itself, I jot down the minutes. Over the four-week life of that February project I logged 11.5 hours of administrative overhead. Eleven and a half. On a sixteen-hour project. That is not overhead, that is a second job.

The cognitive tax

The administrative stuff at least feels like work. You can point at it. You filed the thing, you sent the thing, you got paid the thing. Fine.

The harder cost to measure is the half-hour after every client email when I cannot focus on anything else.

I do not know if this is just me, but I suspect it is not. Client communication does something to my brain that personal work does not. A friendly Slack message saying “hey, quick question about the header” is not quick, because now I have to swap the entire mental model of their project back into my head, figure out which header, recall what we agreed last week, formulate a response that does not commit me to extra work, send it, and then sit there for twenty minutes wondering if I should have priced the contract higher.

That is dead time. It is not on the invoice. It is not on a timesheet. But it is hours, every week, that I am not getting paid for and not doing my own work in either. I tried to track it for a month and gave up because tracking it was its own cognitive tax. Honestly, your mileage may vary, but I think most freelancers I know quietly absorb maybe five to eight hours a week of this.

The scope creep example I am still bitter about

So. Unlimited revisions on copy.

I knew this was a trap when I signed it. I signed it anyway because the client seemed reasonable and the deposit was already in my account. About halfway through the project they decided the homepage should not be about their service, it should be about their values. Then a week later, having seen the values version, they decided it should actually be about their team. By the third rewrite I was charging emotional damages to my own internal ledger.

None of those rewrites were in the original scope. None of them were billable, because of the clause. Each one took me roughly two hours of writing, two more of placing it into the design, and another hour of back-and-forth on tone. That is fifteen hours of “unlimited revisions” that I had effectively quoted at zero dollars per hour.

I am not naming the client. They were not malicious. They were just people who had never built a website and did not know what “unlimited” sounds like to a person who has to do the work.

The 1.5x to 2x multiplier

So here is what I have started doing. I pick the hourly rate I would want if I were an employee with benefits, paid time off, and someone else doing my taxes. Then I multiply that number by somewhere between 1.5 and 2, depending on how much admin I think the client will generate.

If I want $80 an hour as an employee equivalent, my freelance hour is $120 to $160. That is not greed. That is the only way the math works once you account for the sixteen real hours becoming twenty-eight billable-equivalent hours.

People push back on this. I have had clients tell me my rate is high. My rate is not high. My rate accounts for the fact that I am also their unpaid project manager, their unpaid accountant, their unpaid emotional support animal during the design review, and the person who has to remember in eighteen months what version of PHP their host runs on when something breaks at 11pm.

If you are starting out, this stuff is invisible. You think the gig is the gig. The gig is maybe forty percent of the gig. The other sixty is admin, context-switching, scope management, and the slow erosion of your own work time. Price accordingly. Or do what I did in February and learn it the expensive way.

If you are figuring out what to charge in general, there is some decent ground-up advice in a helping hand for startupers that lines up with most of what I just said, minus the bitterness.

Anyway. I have a draft email open to a prospect right now. I have not sent it yet. I am still doing the math.