Skip to content

Instantly share code, notes, and snippets.

@malarkey
Last active April 16, 2024 21:44
Show Gist options
  • Save malarkey/4031110 to your computer and use it in GitHub Desktop.
Save malarkey/4031110 to your computer and use it in GitHub Desktop.
The latest version of my ‘killer contract’ for web designers and developers

When times get tough and people get nasty, you’ll need more than a killer smile. You’ll need a killer contract.

Used by 1000s of designers and developers Clarify what’s expected on both sides Helps build great relationships between you and your clients Plain and simple, no legal jargon Customisable to suit your business Used on countless web projects since 2008

…………………………

Buy the Contract Killer template for £9.99: https://stuffandnonsense.co.uk/projects/contract-killer

…………………………

@brainwane
Copy link

I've customized and used a variant created by Ashe Dryden several times. Dryden's variant has "Phew" but not "Blimey". It's been fine every time.

There are some firms who prefer a legalese-type contract. Many of those already have a standard contract of their own that they prefer you sign. For clients who do not have a standard contract, the vernacular language actually conveys a different kind of credibility than relentlessly formal language would. They care about professional proficiency and standards in the craft, and often care less about always using formal wording than some would expect.

@moltar
Copy link

moltar commented Dec 17, 2018

Please fix:

Mobile browser testing Testing using

@basesome
Copy link

I noticed no timeline/duration is included.

Any reason for this?

@johnlewisdesign
Copy link

Good starting point - there are some mistakes though -

Mobile browser testing

Mobile browser testing Testing using popular smaller screen

^^Repetition from copypasta

Also adding a 'Phew' and a 'Blimey' makes you sound like a wartime American actor failing to do a British accent. Whilst trying to sound friendly, this isn't professional and waters down the otherwise excellent patter, which is accessible and friendly enough already - without the corblimeyguvnors.

@ncodee
Copy link

ncodee commented Jul 11, 2019

Hi, is there one for an Agency that provides websites using pre-made themes and provides web hosting? thanks

@christianadamg
Copy link

What if i'm a sole trader and no't a incoporated business, i still need to put my ''business address'' and say ''we'' instead of ''i/me'' ? I just need some advice please

@grossalert
Copy link

I have found some problems with 'Contract Killer' that may cause more problems than it seeks to avoid. The language is fun but still there is too much exchanging legal gobbledegook for technical gobbledegook. Some comments in detail:-

  1. Whilst the text specifies that English /Welsh courts shall have exclusive jurisdiction, it does not specify which country's law shall be applied. If disputes can be interpreted by a foreign law as capable of being interpreted and enforced by its laws (eg because the small print of the customer order form required a foreign law of the country of the client to apply or simply by virtue of the residency of the client) then the English/Welsh court will have to interpret the rights of both parties and deal with the dispute under such foreign law. That's why lawyers use a phrase like "This contract shall be governed by the laws of England and Wales and disputes shall be dealt with under the exclusive jurisdiction of the courts of England and Wales."

  2. Lack of clarity as to who is the client. It asks for the name of the person entering into the contract but later says "You have the authority to enter into this contract on behalf of yourself, your company or your organisation. ". So it suggests the person entering into it could be doing so on behalf of a company but that person may not enter the name of the company in the paragraph above. The person should be identified as well as the intended customer.

  3. Referring to "deadlines" and "sticking to payment schedules" is woolly and less clear (and thus increases the risk of disputes arising) than using the legal phrase "time shall be of the essence".

  4. If the client withdraws it says "you’ll pay us in full for the time we’ve spent working with you ". However there is no provision to how time is charged leading to the potential for disputes over that charge

  5. There is no (usual) clause stating that this document amounts to the whole agreement and the developer cannot be bound by anything said previously . As a result any comment that may have been casually made by the developer, eg as to some element of the work to be done could amount to an enforceable condition despite not being mentioned in the contract itself. In fact the wording actually allows for this woolly specification referring only to "everything we’ve agreed with you". That opens up a whole range of disputes . The same goes for the lack of clarity on the time scale for the work. Most tech disputes can be avoided by a clear spec referred to in the contract. All such wooliness may seem protective to the developer but in reality it only increases disputes which is not good for the developer. Not only is there legal cost to be incurred, but it could lead to adverse reviews against the developer.

  6. The contract can be criticised for the same excessive protection to the developer as is often said about more formal lawyer created contracts and thus equally to be avoided by clients. I am thinking of the clause that denies the client any form of redress for losses incurred as a result of errors or anything not done correctly.

  7. The clause that makes the client guarantee that all IP protected assets are either owned by him or he has "permission to use" should be extended to cover permission to allow a third party (ie the developer) to use. Personal permission may not be enough to protect the developer. Saying the client will "protect" the developer from any claim is again woolly as open to interpretation what in law that means. The word "indemnify" is precise in law but if you want to use non legal language then can say "you will pay all our costs and losses incurred as a result of any breach by you of this clause ".

  8. It says "Just like a parking ticket, neither of us can transfer this contract to anyone else without the other’s permission." OK I'm being finicky but that is factually inaccurate since private parking tickets can and often are sold on to other orgs to collect!

9.Most important of all, there is absolutely no provision for how disputes are to be resolved other than by court (mediation, arbitration, med-arb, online dispute resolution etc etc) A pre-commitment to mediation is best.

I guess I will be seen as a moaning lawyer but I do appreciate the need for contracts to be in plain language. But sometimes there is a need for discipline. This needs improving.

@ismailsirajeittembe
Copy link

Something missing from this paragraph:

"We’ll own the unique combination of these elements that constitutes a complete design and we’ll license that you, exclusively and in perpetuity for this project only, unless we agree otherwise. We can provide a separate estimate for that."

Should read like this, perhaps:

"We’ll own the unique combination of these elements that constitutes a complete design and we’ll license its use to you, exclusively and in perpetuity for this project only, unless we agree otherwise."

Bravo

@helloromero
Copy link

@grossalert can you update it?

@dev-stupid-codes
Copy link

I have made a repository, so we can distribute VSCode snippets of tony-caffe's killer-contract version and mantain translations.

VSCode snippets are a lot handy to fill custom information in the contract.

@dev-stupid-codes
Copy link

dev-stupid-codes commented Feb 19, 2021

I have done the whole contract translation for Portuguese (Brazil), based on tony-caffe's fork.
Although, it might be good if someone would go and read it, in order to point out errors or make improvements suggestions.

@Oliver-Turp
Copy link

I second @helloromero 's request and hope @grossalert could make a better lawyered version :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment