Journal

How to stop scope creep on freelance design projects

A practical system for keeping freelance design projects on scope: clear deliverables, revision rounds, stage sign-offs and a simple change request process.

How to stop scope creep on freelance design projects

Most freelance design projects don't lose money on the big, obvious requests. They lose it on the small ones: "Can we add one more section?", "Could you also do a quick mobile banner?", "Let's try a darker version, just to compare." Each request takes an hour or two. None of them feels worth an argument. By the end, you've done a third more work for the same fee, and the timeline you promised is gone.

Scope creep isn't usually a client trying to take advantage of you. It's what happens when the edges of a project were never drawn clearly. The fix is less about saying no and more about building a project where everyone can see what's included, what isn't, and what happens when something new comes up. Here is the system we use and recommend.

Define deliverables as things, not activities

"Website design" is an activity. "Design of 5 pages (Home, About, Services, Case Study template, Contact) in desktop and mobile breakpoints, built in Framer" is a list of things. Activities have no natural end. Things do.

When you write your proposal, describe every deliverable as something you could point at when it's finished. Include quantities wherever you can:

  • Number of pages or screens, by name
  • Breakpoints covered (desktop, tablet, mobile)
  • Number of concept directions in the first round
  • Number of revision rounds per stage
  • Who writes the copy and who provides images
  • What the handoff includes: Framer project, Figma file, CMS setup, a short training call

If a number feels awkward to commit to, that's a sign it matters. Write it down anyway.

Write an "out of scope" list

Clients rarely read what's included as carefully as you wrote it. They do notice a clear list of what isn't. A short "Not included" section removes most of the arguments before they start.

Keep it specific to the project. For a typical Framer site, that might be copywriting, logo or brand identity work, custom illustrations, third-party integrations beyond forms, SEO content, and ongoing maintenance after launch. You aren't refusing these things. You're stating that they'd be priced separately.

A clear "not included" list doesn't make you look rigid. It makes you look like someone who has done this before.

Limit revisions by round, not by hours

"Unlimited revisions" sounds generous and almost always ends badly. "Two rounds of revisions" is better, but only if you define what a round is.

A revision round is one consolidated set of feedback, from all decision-makers, delivered at once. Ten scattered Slack messages over four days are not one round. Put that definition in the proposal and repeat it when you send each design for review: "Please send all feedback in one message by Thursday. This is round 1 of 2."

It also helps to separate revisions from changes in direction. Adjusting spacing, colours or copy on an agreed layout is a revision. Throwing out the approved concept and starting a new one is new work.

Get sign-off at each stage

Scope creep loves going backwards. The homepage was approved two weeks ago, and now that the inner pages are done, the client wants to rethink it. Without a record of approval, you have no ground to stand on.

Break the project into stages, for example: structure and wireframes, visual direction, full page designs, build, launch. At the end of each stage, ask for a short written approval. An email reply that says "Approved, let's move on" is enough. Later changes to an approved stage become change requests, not revisions.

Use a simple change request process

When something new comes up, you need a response that's friendly, quick and doesn't require a negotiation every time. A lightweight change request does that. When a client asks for something outside the scope, reply with three things:

  1. Confirm what they're asking for, in one sentence.
  2. Give the cost and the effect on the timeline.
  3. Ask them to choose: add it now, swap it for something already in scope, or move it to a later phase.

For example: "Happy to add a pricing page. That's an extra $600 and two more days, so launch moves to the 14th. Want me to add it, swap it for the Careers page, or keep it for phase two?" Most clients appreciate the clarity. Some will decide they don't need it after all, which is also a good outcome.

Keep a small buffer for genuine small things

Being strict about every five-minute tweak makes you hard to work with. We usually build a small buffer into the price, roughly 5 to 10 percent of the project time, for minor requests that don't deserve a change request: fixing a typo they missed, swapping one image, nudging a button label.

The key is that you decide what fits in the buffer, and you keep track of it. When it runs out, tell the client: "We've used the small-changes allowance, so from here I'll quote additions separately." Because you warned them early, this doesn't feel like a surprise.

Say the scope out loud at kickoff

A proposal is a document people skim and sign. The kickoff call is where the scope actually lands. Spend five minutes walking through the deliverables, the out-of-scope list, how revision rounds work and what happens with new requests.

Then send a short recap email the same day. It gives everyone, including stakeholders who weren't on the call, the same understanding of the project. When a request comes up in week three, you can link back to it instead of rewriting the rules.

Notice when scope creep is really a pricing problem

If almost every project overruns in the same way, the issue may not be the client. It may be that your packages don't match what clients actually need. If every site needs a blog setup you don't include, add it to the package and price it in. If clients always want a third revision round, offer it as a paid option from the start.

Track the extra requests across a few projects. Patterns turn into better packages, and better packages mean fewer awkward conversations.

Conclusion

Scope creep is mostly a communication problem, and it's solved with structure rather than confrontation. Define deliverables as concrete things, list what's not included, limit revisions by round, get approval at each stage and give new requests a simple path with a price and a date. Do this consistently and you'll spend less time on unpaid work, and your clients will trust your process more, not less.

Oybek Ruziev

Designer & Framer developer · AidanCreates

Keep reading

All posts