<?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: Riley Morgan</title>
    <description>The latest articles on DEV Community by Riley Morgan (@quietdrafts26).</description>
    <link>https://dev.to/quietdrafts26</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%2F4123168%2F2fef685e-03ab-4199-8d73-63db63f84e39.png</url>
      <title>DEV Community: Riley Morgan</title>
      <link>https://dev.to/quietdrafts26</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/quietdrafts26"/>
    <language>en</language>
    <item>
      <title>I lost a Shopify rebuild because I wrote "sorry to bother you"</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Mon, 14 Sep 2026 01:33:16 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/i-lost-a-shopify-rebuild-because-i-wrote-sorry-to-bother-you-2e50</link>
      <guid>https://dev.to/quietdrafts26/i-lost-a-shopify-rebuild-because-i-wrote-sorry-to-bother-you-2e50</guid>
      <description>&lt;p&gt;I used to think the polite follow-up was the professional move. You send the proposal. You wait. You bump once with a soft apology so you don’t seem pushy. Every freelance Twitter thread said the same thing: just check in, be nice, don’t disappear. I did that. It cost me a Shopify store rebuild that would have covered three months of rent.&lt;/p&gt;

&lt;p&gt;It was a Tuesday night, almost midnight. The brief was sitting in my downloads folder like a dare. A DTC brand needed their theme cleaned up, a handful of apps ripped out, and the checkout path fixed before a Black Friday test. I spent two hours on the proposal. I named their theme. I pointed at the app bloat. I put a real timeline on the page. I hit send and felt briefly competent.&lt;/p&gt;

&lt;p&gt;Forty-eight hours of silence. Then seventy-two. I opened the thread again at 11:47 p.m. like a person checking a bruise. I typed the line I had typed a hundred times:&lt;/p&gt;

&lt;p&gt;“Hi! Just bumping this to the top of your inbox. Sorry to bother you!”&lt;/p&gt;

&lt;p&gt;I sat there looking at it. It looked like manners. It felt like I was apologizing for existing in their Gmail. I sent it anyway. The little whoosh sound might as well have been a tiny funeral.&lt;/p&gt;

&lt;p&gt;They never replied. A week later I saw the brand’s new freelancer posting a “excited to rebuild this Shopify store” story. Same logo. Same messy theme I had audited for free in the proposal. I closed the laptop and ate cereal over the sink, which is not a metaphor. That was dinner.&lt;/p&gt;

&lt;p&gt;Here is the shameful part, and I want you to feel it if you have done this too. I did not lose because my price was wrong. I did not lose because I lacked a case study. I lost because the last thing they heard from me was me shrinking. “Sorry to bother you” is not politeness. It is a status signal. It tells a busy founder you are already unsure you belong in the thread.&lt;/p&gt;

&lt;p&gt;I meant to sound respectful. I sounded optional.&lt;/p&gt;

&lt;p&gt;That gap between the person I thought I was (professional, thoughtful) and the person on the page (apologetic, small) is where a lot of freelance money goes to die. We are taught to fear being “salesy,” so we sand ourselves down until there is nothing left to say yes to. The client does not need your apology. They need a reason to reopen the file.&lt;/p&gt;

&lt;p&gt;Think of the follow-up like knocking on a door. You can knock and say you are sorry for knocking. Or you can knock and say you brought the thing they asked for. Same knuckles. Different message. One asks forgiveness for contact. The other continues the work.&lt;/p&gt;

&lt;p&gt;I stopped apologizing in the bump. I started attaching a reason.&lt;/p&gt;

&lt;p&gt;The rewrite is almost insultingly small. Keep your proposal. Keep your rate. Change the first two lines of the follow-up so they do a job.&lt;/p&gt;

&lt;p&gt;Before:&lt;br&gt;
“Hi! Just bumping this. Sorry to bother you! Let me know if you have questions.”&lt;/p&gt;

&lt;p&gt;After:&lt;br&gt;
“Quick follow-up on the Shopify rebuild. I sketched a cut list for the three apps slowing your storefront and a two-week path to a cleaner theme before your Black Friday test. Happy to walk through it on a 15-minute call, or I can send the cut list as a one-pager if easier.”&lt;/p&gt;

&lt;p&gt;Notice what moved. No apology. A named constraint they already care about. A next step that is easy to accept. You are not begging for attention. You are continuing the audit you already started in the proposal. That is the whole method: the bump should prove you are already on the job, not that you are sorry you spoke.&lt;/p&gt;

&lt;p&gt;I tested it on the next four quiet threads. Two replied the same day. One said they had hired someone else but asked to keep me for a later project. One stayed quiet, which is fine. Quiet is data. Apology-quiet is just you helping them forget you.&lt;/p&gt;

&lt;p&gt;You might be thinking this is a personality trick, or that it only works if you already have a fancy template pack. Fair. I thought that too. I used to believe the win lived in the PDF: longer scope, prettier pricing table, more testimonials stacked like sandbags. Those things help after you sound like someone worth opening. They do not rescue a follow-up that apologizes for breathing. You can steal the method above with a blank email and a brain. No purchase required.&lt;/p&gt;

&lt;p&gt;If you want the reusable form of this, the thing I wish I had on that Tuesday night when I was inventing courage at midnight, I packed it as the Freelance Proposal Win Kit (&lt;a href="https://freelance-proposal-win-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-proposal-win-kit.agreeable-century.workers.dev/&lt;/a&gt;). It has twelve niche proposal templates, including a Shopify store proposal, plus a follow-up sequence that bumps with reasons instead of apologies, and a discovery script so you quote like you belong there. The essay is the method. The kit is the version you do not have to rebuild from scratch every time your inbox goes quiet. Use the method either way.&lt;/p&gt;

&lt;p&gt;Tonight, do the one-inch job. Open your last unanswered proposal thread. Delete “sorry to bother you.” Replace it with one concrete reason tied to their constraint. Send that. Then close the laptop before you can sand yourself down again.&lt;/p&gt;

&lt;p&gt;I still think about that whoosh sound sometimes. These days I try to make sure it is the sound of work continuing, not the sound of me saying sorry for knocking.&lt;/p&gt;

</description>
      <category>freelancing</category>
      <category>upwork</category>
    </item>
    <item>
      <title>Stop buying freelance templates one at a time</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Mon, 14 Sep 2026 00:38:59 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/stop-buying-freelance-templates-one-at-a-time-5ajj</link>
      <guid>https://dev.to/quietdrafts26/stop-buying-freelance-templates-one-at-a-time-5ajj</guid>
      <description>&lt;p&gt;Dead week: bought a proposal pack Tuesday, a rate PDF Thursday, still no invoice template Friday.&lt;/p&gt;

&lt;p&gt;Better: one desk stack — pitch, price, get paid.&lt;/p&gt;

&lt;p&gt;Bundle: &lt;a href="https://freelance-starter-bundle.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-starter-bundle.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The client already decided in the preview line</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Mon, 14 Sep 2026 00:35:06 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/the-client-already-decided-in-the-preview-line-2092</link>
      <guid>https://dev.to/quietdrafts26/the-client-already-decided-in-the-preview-line-2092</guid>
      <description>&lt;p&gt;Upwork shows like two lines before they click. That’s the whole game.&lt;/p&gt;

&lt;p&gt;Dead preview: “Hi, I’d love to work on your project. I have experience in…”&lt;/p&gt;

&lt;p&gt;Better: “Your checkout asks for a card before they see the product. I’d move that behind a short demo.”&lt;/p&gt;

&lt;p&gt;If they don’t open it, nothing else mattered.&lt;/p&gt;

&lt;p&gt;Kit: &lt;a href="https://freelance-proposal-win-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-proposal-win-kit.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I kept saying $45/hr and clients treated me like a bargain bin</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Mon, 14 Sep 2026 00:28:27 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/i-kept-saying-45hr-and-clients-treated-me-like-a-bargain-bin-282o</link>
      <guid>https://dev.to/quietdrafts26/i-kept-saying-45hr-and-clients-treated-me-like-a-bargain-bin-282o</guid>
      <description>&lt;p&gt;Hourly made every chat a negotiation. They’d ask for “just a couple more hours” and my week disappeared.&lt;/p&gt;

&lt;p&gt;Dead quote: “$45/hr, 20 hours estimated, flexible.”&lt;/p&gt;

&lt;p&gt;Better: “Landing page refresh: $1,200, includes hero + 2 sections + mobile pass. Extra pages are a separate package.”&lt;/p&gt;

&lt;p&gt;Ceiling on the work. Clearer yes.&lt;/p&gt;

&lt;p&gt;Rate card kit: &lt;a href="https://freelance-rate-card-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-rate-card-kit.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Stop rewriting your bio in every Upwork proposal</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Mon, 14 Sep 2026 00:19:03 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/stop-rewriting-your-bio-in-every-upwork-proposal-12mj</link>
      <guid>https://dev.to/quietdrafts26/stop-rewriting-your-bio-in-every-upwork-proposal-12mj</guid>
      <description>&lt;p&gt;I used to paste a new mini-resume every time. Clients never asked for that.&lt;/p&gt;

&lt;p&gt;Dead: “Hi, I’m Alex, 5 years web design, hardworking, portfolio below.”&lt;/p&gt;

&lt;p&gt;Better: “Your homepage CTA says learn more but doesn’t say what they get. I’d tighten that hero before anything else.”&lt;/p&gt;

&lt;p&gt;Bio stays on the profile.&lt;/p&gt;

&lt;p&gt;Kit if you want openers that do that: &lt;a href="https://freelance-proposal-win-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-proposal-win-kit.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Your proposal follow-up is probably just “checking in”</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Sun, 13 Sep 2026 15:01:22 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/your-proposal-follow-up-is-probably-just-checking-in-52f8</link>
      <guid>https://dev.to/quietdrafts26/your-proposal-follow-up-is-probably-just-checking-in-52f8</guid>
      <description>&lt;p&gt;“Just checking in” gets ignored the same way “Hi, I’m a…” does.&lt;/p&gt;

&lt;p&gt;Bad bump:&lt;br&gt;
“Hey, just checking in on my proposal. Let me know if you have any questions!”&lt;/p&gt;

&lt;p&gt;Useful bump:&lt;br&gt;
“One more idea for the homepage CTA - I’d test a booked-call button above the fold instead of ‘learn more.’ Happy to sketch both if useful.”&lt;/p&gt;

&lt;p&gt;Same job. New angle. Not a nudge for its own sake.&lt;/p&gt;

&lt;p&gt;If you want the follow-ups with the templates: &lt;a href="https://freelance-proposal-win-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-proposal-win-kit.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;$0. No Travis accounts. No Reddit. Don’t mention other SKUs.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Stop quoting only hourly if you keep undercharging</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Sun, 13 Sep 2026 13:28:17 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/stop-quoting-only-hourly-if-you-keep-undercharging-3e74</link>
      <guid>https://dev.to/quietdrafts26/stop-quoting-only-hourly-if-you-keep-undercharging-3e74</guid>
      <description>&lt;p&gt;Most freelancers underprice because they only quote hours. Clients hear “cheap and unsure.”&lt;/p&gt;

&lt;p&gt;One clear package with a ceiling beats $45/hr forever.&lt;/p&gt;

&lt;p&gt;I keep a simple rate card kit for that: &lt;a href="https://freelance-rate-card-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-rate-card-kit.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The first line of your Upwork proposal is probably why nobody opens it</title>
      <dc:creator>Riley Morgan</dc:creator>
      <pubDate>Sun, 13 Sep 2026 12:52:47 +0000</pubDate>
      <link>https://dev.to/quietdrafts26/the-first-line-of-your-upwork-proposal-is-probably-why-nobody-opens-it-284b</link>
      <guid>https://dev.to/quietdrafts26/the-first-line-of-your-upwork-proposal-is-probably-why-nobody-opens-it-284b</guid>
      <description>&lt;p&gt;I burned a week of connects on openers that started with “Hi, I’m a…”&lt;/p&gt;

&lt;p&gt;Clients don’t care. They’re skimming 30 of those. Yours looks like everyone else’s.&lt;/p&gt;

&lt;p&gt;What actually gets a click for me:&lt;br&gt;
Open on their mess. One sentence. Name the thing that’s broken in the post.&lt;br&gt;
Then one proof that fits that job, not your whole career.&lt;br&gt;
Then a small next step. Not “looking forward to hearing from you.”&lt;/p&gt;

&lt;p&gt;Last one that actually got a reply for me was a Shopify cleanup post. First line wasn’t “I’m a developer.” It was “Your export is going to duplicate SKUs on variant rows if you migrate as-is. I’d clean those first, then map collections.”&lt;/p&gt;

&lt;p&gt;Same shape every time. Their landmine, then my first move.&lt;/p&gt;

&lt;p&gt;Write that skeleton once. Swap the details. Stop rewriting your bio every time.&lt;/p&gt;

&lt;p&gt;I made a small kit of those if you want the pile: &lt;a href="https://freelance-proposal-win-kit.agreeable-century.workers.dev/" rel="noopener noreferrer"&gt;https://freelance-proposal-win-kit.agreeable-century.workers.dev/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
