The first time I got stiffed, I'd already delivered the whole website. Pushed it live, sent the link, the client replied "looks great!" — and vanished when the final payment came due. The "contract"? A WhatsApp voice note and a "deal, go ahead." There was nothing I could firmly invoice, because deep down nothing was written anywhere.
If you're a freelancer — dev, designer, social media, video editor — you've probably lived some version of this. A verbal deal always goes sideways. And it's rarely blatant bad faith: it's the ambiguity that eats away from the inside. So I built ContractFlow, a free contract generator. But before I hand it over, let me name the pains — because you'll recognize every one.
The 4 ways a freelancer gets burned without a contract
It's not just getting stiffed. There are four traps, and they all come through the same door: a "deal" that lives in a chat and nobody quite remembers.
- The no-pay. The classic. Work delivered, client disappears when it's time to pay. Without a contract you don't even have clear proof of the agreed price.
- Endless revisions. "Just one more little tweak." Then another. And another. Three weeks later you're redoing — for free — a project you already delivered, because it was never defined where your work ends.
- The mid-project cancel. You blocked your calendar, turned down another gig, started — and the client bails halfway and disappears. You're left with the time spent and zero in your pocket.
- Scope creep. It started as a logo, then became "oh, while you're at it, do the business card, the Instagram, the website…" All for the same price, because what was (and wasn't) included was never written down.
Notice the cure for all four is the same: put it in writing. Not to sue anyone — that rarely happens. It's so the deal exists outside your memory and the client's, so nobody has to "trust their recollection" of the other.
Why a "WhatsApp contract" doesn't count
Voice notes and screenshots have some value as evidence, but they're a mess: scattered across 200 messages, mixed with stickers and "good mornings," and they define nothing clearly — deadline, price, number of revisions, what happens if someone quits. A real contract doesn't need to be a wall of legalese. It needs a single page that answers, with no room for doubt: what I'll deliver, for how much, by when, how many revisions, and what happens if something goes wrong. That's it. The problem is that drafting that text from scratch is a drag — and that's exactly where almost everyone gives up and goes back to the voice note.
ContractFlow and the 4 clauses that protect your payment
ContractFlow is a service-agreement generator that builds a professional document in about 2 minutes. No sign-up, no cost, and 100% in your browser — the data (yours, the client's, the amounts) never leaves your computer. It has 6 PDF layouts, white-label logo support, and niche presets: dev, design, marketing, video, consulting.
But what really matters are four clauses I put at its heart — each born from a pain I (or a freelancer friend) took to the face:
- Anti-revision. The contract sets how many revision rounds are included. Go past that, or ask for something outside the agreed scope? It's billed by the hour. That eternal "just one more tweak" ends the moment there's a number on paper.
- Kill-fee (cancellation fee). If the client bails mid-project, part of the fee stays with you. It's fair: you reserved your time and turned down other work. The kill-fee is what separates "eh, changed my mind" from "no problem leaving you hanging."
- Portfolio rights. It guarantees in writing that you can show the work in your portfolio and on social media. Sounds minor until the day a client says "I'd rather you didn't show it" — and you realize you delivered your best project and can't tell anyone it was yours.
- Total privacy. This one's technical, not legal, but it matters: since everything runs in the browser, the amounts you charge and the client's data never pass through any server of mine. The contract is yours and no one else's.
How to generate yours, in practice
- Open ContractFlow and pick your niche preset (or start blank).
- Fill in your details, the client's, what you'll deliver, and the price.
- Set the number of included revisions, the kill-fee, and enable portfolio rights.
- Choose one of the 6 layouts, add your logo if you want, and download the PDF.
- Send it to the client to sign before you start. That "before" is the part that protects you.
The trick is step 5. A contract signed after the fight is useless — it exists so the fight never happens.
Important: it's a solid, well-written template to close freelance work safely, informational in nature — it doesn't replace a lawyer's advice for specific cases (high amounts, complex IP, partnerships).
FAQ
Does this contract replace a lawyer? For most freelance work, it's enough — it's a solid template. For sensitive cases (high amounts, complex IP, partnerships), a lawyer's review is worth it.
Is my data stored on any server? No. It runs 100% in the browser; nothing you type is sent or stored.
Do I have to pay or sign up? No. It's free and sign-up-free: open it, fill it in, download the PDF.
Does it work for any field? Yes. It has niche presets (dev, design, marketing, video, consulting) and you adjust the scope however you like.