<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ScopePaid</title>
    <description>The latest articles on DEV Community by ScopePaid (@scopepaid).</description>
    <link>https://dev.to/scopepaid</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4123730%2F7f846e05-e32d-4fe0-aa7d-d25476208e0d.png</url>
      <title>DEV Community: ScopePaid</title>
      <link>https://dev.to/scopepaid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/scopepaid"/>
    <language>en</language>
    <item>
      <title>Bug or change of mind? The 3-question test I run on every post-launch request</title>
      <dc:creator>ScopePaid</dc:creator>
      <pubDate>Mon, 19 Oct 2026 13:13:21 +0000</pubDate>
      <link>https://dev.to/scopepaid/bug-or-change-of-mind-the-3-question-test-i-run-on-every-post-launch-request-2c9c</link>
      <guid>https://dev.to/scopepaid/bug-or-change-of-mind-the-3-question-test-i-run-on-every-post-launch-request-2c9c</guid>
      <description>&lt;p&gt;Two weeks after a client signed off on a site, I got this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hey! Found a couple of bugs on the pricing page. Can you fix them today?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There were two. One was real: on a narrow phone the toggle between monthly and yearly overlapped the plan names. That was my mistake, and I fixed it that afternoon without charging.&lt;/p&gt;

&lt;p&gt;The other was the headline. They wanted it bigger and in a different font, "because it doesn't pop." The headline matched the approved mockup exactly. Same size, same font, same everything.&lt;/p&gt;

&lt;p&gt;Both were filed as "bugs" in the same message, with the same urgency. And for a long time I treated them the same way, too: I fixed everything, because arguing over one line in an email felt petty.&lt;/p&gt;

&lt;p&gt;The trouble is that "small fixes" after launch don't stay small. They come one at a time, each one too minor to quote, and a month later you've redesigned half a page for free while the final invoice is still "being processed."&lt;/p&gt;

&lt;h3&gt;
  
  
  The word "bug" is doing a lot of work
&lt;/h3&gt;

&lt;p&gt;Clients aren't being sneaky when they call a preference a bug. To them, anything they don't like right now feels broken. That's an honest feeling. It's just not the same thing as a defect.&lt;/p&gt;

&lt;p&gt;So I stopped debating the word and started running every post-sign-off request through three questions before I reply.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 3-question test
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Does it fail to match what was approved?&lt;/strong&gt;&lt;br&gt;
Pull up the signed-off thing: the mockup, the spec, the ticket, the staging link they said "looks great" on. If the live version differs from it, that's on me. If it matches and they want something else now, that's a change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Is it broken, or just different from what they'd pick today?&lt;/strong&gt;&lt;br&gt;
Broken means it errors, it misbehaves on a device or browser we agreed to support, a form doesn't send, data is wrong. "Different" means the colour, the copy, the layout, or a feature they've just thought of. Preferences can be great ideas. They're still new work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Did the need exist at sign-off?&lt;/strong&gt;&lt;br&gt;
"Make the contact form send to our new sales inbox" sounds like a fix. But if the sales inbox didn't exist when we signed off, it's a new requirement. Nobody did anything wrong. Things changed.&lt;/p&gt;

&lt;p&gt;If the answer to #1 or #2 points at me, it's a bug, and I fix it free and fast. Anything else gets the change reply. The unclear ones are covered further down.&lt;/p&gt;
&lt;h3&gt;
  
  
  The two replies
&lt;/h3&gt;

&lt;p&gt;I keep both of these saved so I'm not writing them while annoyed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For a real bug:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Thanks for catching this. The toggle overlap on small screens is a bug on my side. Fixing it today, no charge. I'll send a link once it's live.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Owning it quickly matters. It's also what makes the second reply believable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For a change of mind:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Happy to change the headline. For reference, the current one matches the mockup you approved on [date] (link). Going bigger with a new font is a design change, so here's the impact:

- About [N] hours, [fee]
- Can be live by [day] once you reply "approved"

Nothing else is affected. Everything else stays as signed off.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No "per section 4." No lecture. Just the approved thing, what's different, and what it costs. Most clients reply "oh, fair" because they honestly forgot what they approved.&lt;/p&gt;

&lt;p&gt;When I send both replies in the same thread, I fix the bug first and then send the change note. Fixing what's mine first shows I'm not hiding behind the spec.&lt;/p&gt;

&lt;h3&gt;
  
  
  When it's genuinely unclear
&lt;/h3&gt;

&lt;p&gt;Some requests sit in the middle. The spec said "mobile friendly" and never listed which devices. The mockup never showed an empty state. Requests like that I usually split down the middle: I fix the minimum that makes it work and quote anything that goes past that. Then I write the missing detail into the next proposal, so it's clear next time.&lt;/p&gt;

&lt;p&gt;If I can't tell, I say so: "This one's a grey area since the spec didn't cover it. I'll make it work properly free, but the extra animation you mentioned would be a change." People take that well. Pretending to be certain is what starts arguments.&lt;/p&gt;

&lt;h3&gt;
  
  
  The habit that makes this work: log it the day it arrives
&lt;/h3&gt;

&lt;p&gt;The test only works if you can answer question #1 in thirty seconds. That means having the approved version and the request in one place, not spread across Slack, email, and a Figma comment from six weeks ago.&lt;/p&gt;

&lt;p&gt;So every post-launch request gets one row the day it comes in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Date received&lt;/strong&gt; and &lt;strong&gt;who asked&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exact wording&lt;/strong&gt; (pasted, not paraphrased, because paraphrasing is where "bug" quietly becomes "fix")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Approved reference&lt;/strong&gt; (mockup link, spec line, sign-off email date)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Call:&lt;/strong&gt; bug / change / grey area&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Estimate&lt;/strong&gt; (hours, even for bugs, so you can see what free fixes really cost you)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Client approved?&lt;/strong&gt; (yes / no / pending)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Billed?&lt;/strong&gt; (invoice number, or "goodwill")&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The "goodwill" option matters. Sometimes I choose to do a small change free, and that's fine. Writing it down turns it into a decision I made, not something I forgot to bill.&lt;/p&gt;

&lt;p&gt;A side effect I didn't expect: at the end of a project the rows tell you which parts of your proposals are too vague. If the "grey area" rows keep landing on the same thing, like responsive breakpoints or copy edits, that's the line to tighten in your next contract.&lt;/p&gt;

&lt;p&gt;If you'd rather not build the columns from scratch, I put a &lt;a href="https://fluidoxygen.gumroad.com/l/vogjtv?utm_campaign=post4&amp;amp;utm_medium=owned_post&amp;amp;utm_source=devto" rel="noopener noreferrer"&gt;free Scope Change Log spreadsheet&lt;/a&gt; together with these fields already set up (Google Sheets or Excel). A notes app works too. The point is to have the record, not to use any particular tool.&lt;/p&gt;




&lt;p&gt;How do you handle the "it's a bug" message after sign-off? Do you fix everything up to a point, have a warranty window in the contract, or quote anything that isn't strictly broken? I'd like to know where other people draw the line.&lt;/p&gt;

</description>
      <category>freelance</category>
      <category>webdev</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The 4-line email that turns "quick asks" into change orders</title>
      <dc:creator>ScopePaid</dc:creator>
      <pubDate>Thu, 24 Sep 2026 03:13:15 +0000</pubDate>
      <link>https://dev.to/scopepaid/the-4-line-email-that-turns-quick-asks-into-change-orders-2j3a</link>
      <guid>https://dev.to/scopepaid/the-4-line-email-that-turns-quick-asks-into-change-orders-2j3a</guid>
      <description>&lt;p&gt;Scope creep almost never arrives as a formal change request.&lt;/p&gt;

&lt;p&gt;It arrives as a Slack ping at 4:47pm:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Quick one  can we also add X? Shouldnt take long.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you answer in the thread, you’re negotiating from memory and goodwill. That is how unpaid hours get born.&lt;/p&gt;

&lt;p&gt;Contracts help. Revision caps help. What still fails is the &lt;strong&gt;next message you send&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I used to do
&lt;/h3&gt;

&lt;p&gt;I’d type “sure” because I didn’t want to sound difficult. Then Id do the work. Then at invoice time I’d either eat it or invent a fight about something we never wrote down.&lt;/p&gt;

&lt;p&gt;The fix wasn’t a tougher personality. It was a boring email I send &lt;strong&gt;before&lt;/strong&gt; I touch the extra work.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 4-line change-order email
&lt;/h3&gt;

&lt;p&gt;Subject: &lt;code&gt;Re: [Project]  quick note on [short ask]&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hi [Name],

Happy to look at [short ask]. That’s outside what we scoped for [Project], so here’s the impact before I start:

 Effort: ~[N] hours → [fee]
• Timeline: +[N] working days (or: no date change if we swap [Y])
• Starts after you reply “approved”

In-scope work continues as planned either way.

Thanks,
[You]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s it. No PDF. No drama. No “per our agreement section 4.2.”&lt;/p&gt;

&lt;p&gt;You’re not saying no. You’re giving them a decision.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this works better than arguing in Slack
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;It moves the ask out of chat instincts.&lt;/strong&gt; Slack rewards speed. Email (or a short Loom + email) rewards a record.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fee and timeline travel together.&lt;/strong&gt; Quoting money without schedule impact is how you still blow the deadline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;“Approved” is the gate.&lt;/strong&gt; Verbal “sounds good on a call is not a gate. A one-word reply is.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tiny freebies stay intentional.&lt;/strong&gt; If you &lt;em&gt;want&lt;/em&gt; to gift it, send the same email with &lt;code&gt;$0&lt;/code&gt; and “goodwill this once.” They still reply approved. The habit stays intact.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What if they push back?
&lt;/h3&gt;

&lt;p&gt;Usually one of three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;“Can’t we just include it?”&lt;/strong&gt; → Restate the original deliverables in one line, then re-offer quote / swap / defer. Don’t debate feelings; point at the list.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Silence.&lt;/strong&gt; → Keep shipping the original scope. Park the extra. Follow up once: “Still happy to add this when you’re ready — original delivery stays on track.”&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Just start, well sort money later.&lt;/strong&gt;  That’s how you fund their ambiguity. Reply: “I can start as soon as the change is approved (even at $0 if we’re calling it goodwill).”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clients who hate any paper trail are telling you something useful early.&lt;/p&gt;

&lt;h3&gt;
  
  
  The 60-second habit around the email
&lt;/h3&gt;

&lt;p&gt;Before you draft it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Paste their ask into a note (date + exact wording).&lt;/li&gt;
&lt;li&gt;Mark in / out / unclear against the SOW.&lt;/li&gt;
&lt;li&gt;Estimate hours honestly (your first gut number is usually low  add a buffer).&lt;/li&gt;
&lt;li&gt;Send the email. &lt;strong&gt;Then&lt;/strong&gt; wait.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you start the work while the email is “pending,” you already lost.&lt;/p&gt;

&lt;h3&gt;
  
  
  Optional: keep the trail in one place
&lt;/h3&gt;

&lt;p&gt;After a few projects, the emails alone get messy. I keep the same fields in a simple change log (date, ask, in/out, estimate, approved?, billed?) so I’m not hunting Slack when it’s time to invoice.&lt;/p&gt;

&lt;p&gt;If you want a starting spreadsheet instead of building columns from scratch, heres a free Scope Change Log (Excel / Google Sheets): &lt;a href="https://fluidoxygen.gumroad.com/l/vogjtv" rel="noopener noreferrer"&gt;https://fluidoxygen.gumroad.com/l/vogjtv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use it, fork it, or ignore the file  the email is the product. The sheet just stops you from losing the receipts.&lt;/p&gt;




&lt;p&gt;Curious what line you actually send when the 4:47pm ping hits. Do you quote every time, bundle “small” asks weekly, or absorb them until it hurts?&lt;/p&gt;

</description>
      <category>freelance</category>
      <category>webdev</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The awkward part of freelancing isn't the work — it's the follow-up</title>
      <dc:creator>ScopePaid</dc:creator>
      <pubDate>Mon, 14 Sep 2026 23:08:55 +0000</pubDate>
      <link>https://dev.to/scopepaid/the-awkward-part-of-freelancing-isnt-the-work-its-the-follow-up-251j</link>
      <guid>https://dev.to/scopepaid/the-awkward-part-of-freelancing-isnt-the-work-its-the-follow-up-251j</guid>
      <description>&lt;p&gt;Following up on an unpaid invoice is less about being pushy than being specific.&lt;/p&gt;

&lt;p&gt;My simplest sequence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send a clear reminder before the due date.&lt;/li&gt;
&lt;li&gt;On the due date, restate the amount, invoice number, and payment link.&lt;/li&gt;
&lt;li&gt;If it slips, ask for a concrete payment date.&lt;/li&gt;
&lt;li&gt;Keep the thread factual and easy to forward.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The awkward part is usually the silence. A small tracker helps me remember who needs a nudge and what I already said, so each follow-up feels like process—not emotion.&lt;/p&gt;

&lt;p&gt;I put the tracker and scripts I use here: &lt;a href="https://fluidoxygen.gumroad.com/l/mvcrwn" rel="noopener noreferrer"&gt;https://fluidoxygen.gumroad.com/l/mvcrwn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>freelancing</category>
    </item>
    <item>
      <title>Stop Eating Free Scope: The Change Log Habit That Saved My Freelance Hours</title>
      <dc:creator>ScopePaid</dc:creator>
      <pubDate>Mon, 14 Sep 2026 01:14:52 +0000</pubDate>
      <link>https://dev.to/scopepaid/stop-eating-free-scope-the-change-log-habit-that-saved-my-freelance-hours-1dfd</link>
      <guid>https://dev.to/scopepaid/stop-eating-free-scope-the-change-log-habit-that-saved-my-freelance-hours-1dfd</guid>
      <description>&lt;p&gt;Scope creep rarely shows up as a formal change request. It shows up as a Slack ping at 4:47pm: "Quick one — can we also add X? Shouldn't take long."&lt;/p&gt;

&lt;p&gt;You know you should pause. You also know saying yes keeps the relationship warm. So you say yes. Later there's no paper trail, and invoicing it feels awkward.&lt;/p&gt;

&lt;p&gt;Contracts help. Revision limits help. What still fails is the &lt;em&gt;moment&lt;/em&gt; between the ask and the work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 60-second pause
&lt;/h2&gt;

&lt;p&gt;Before you start anything new mid-project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Restate the original scope in one line&lt;/li&gt;
&lt;li&gt;Classify the ask: in scope / out of scope / unclear&lt;/li&gt;
&lt;li&gt;Give two paths: quote it, or defer to a later phase&lt;/li&gt;
&lt;li&gt;Don't start until they confirm in writing (even a "yes" reply)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tiny freebies are fine — if you &lt;em&gt;choose&lt;/em&gt; them. Log them as $0 so they don't become invisible hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I put in a change log
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Date + who asked&lt;/li&gt;
&lt;li&gt;What they asked (paste the message)&lt;/li&gt;
&lt;li&gt;In / out / unclear&lt;/li&gt;
&lt;li&gt;Est. hours and price (including intentional $0)&lt;/li&gt;
&lt;li&gt;Approved? How?&lt;/li&gt;
&lt;li&gt;Started only after yes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After a couple projects you see leakage in dollars instead of vibes.&lt;/p&gt;

&lt;h2&gt;
  
  
  A line that doesn't sour the client
&lt;/h2&gt;

&lt;p&gt;"Happy to add that — it's outside what we scoped, so I'll send a quick estimate (hours + timeline) and start once you confirm."&lt;/p&gt;

&lt;p&gt;You're not saying no. You're replacing memory with a record.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free template
&lt;/h2&gt;

&lt;p&gt;I packaged those columns into a free spreadsheet (Excel / Google Sheets) if you want a starting point instead of building it from scratch: &lt;a href="https://fluidoxygen.gumroad.com/l/vogjtv" rel="noopener noreferrer"&gt;https://fluidoxygen.gumroad.com/l/vogjtv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use it, fork it, ignore it — the habit matters more than the file.&lt;/p&gt;

&lt;p&gt;Curious how others handle the 4:47pm "quick ask." Do you log it, absorb it, or quote every time?&lt;/p&gt;

</description>
      <category>freelancing</category>
      <category>career</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
