The client waited 12 minutes. Then took the contract back.
Four things today. A freelancer who lost a signed contract offer in 12 minutes, with the receipts. The 6 line profile checklist for Upwork's new rules. The story of why I gave away half of a $500k business unit last week. And what our data actually says about his market.
Offer sent at 1:08pm. Withdrawn at 1:20pm.
This hit r/Upwork a couple of weeks ago. The hard part was done: proposal won, contract offer in hand. The freelancer went silent for 12 minutes. The client pulled the offer and Upwork printed the reason in the interface: "Freelancer was unresponsive or unavailable." Then one word. "Goodbye."
Here is the mechanism, because it is not client madness. The moment a client sends an offer is their peak of intent. They are at the keyboard, project open, ready to start. Every silent minute after that answers a question they are quietly asking: will this person also be unreachable when something breaks mid project? Silence at the offer moment reads as a preview of the whole contract.
The fix costs nothing if you run one profile. Turn on Upwork's mobile push for messages and offers, and answer the moment anything lands with one rough line: "Got it, reviewing now, full reply within the hour." A fast rough reply beats a slow perfect one. That alone would have saved the contract above.
For those who run agencies with 10+ Upwork accounts, the math stops working. Ten inboxes, offers landing at 1am and 1pm, and a 12 minute window on each. No human sweeps that. This is exactly what we built GigRadar CRM for: every account in one inbox, an alert on your phone the second anything lands, and Laziza answering the first message in your voice while your team sleeps. The 12 minute window stops being a coin flip.
We warned you. Then Upwork said it louder.
Two weeks ago I told you Specialized Profiles were going away. On May 28 they did, and your old titles and skills did not move over. Upwork's own advice is to rebuild your one profile now. Your profile is dynamic now: Upwork picks what to show each client, and it can only pick from what you actually wrote. The whole rebuild, squeezed into six lines:
- Title. One niche title, written the way clients search. Not how you describe yourself.
- Skills. Fill all 20 slots with green skills, the ones Upwork highlights in real searches. Recheck monthly.
- Employment history. The heaviest ranking surface, and the one almost everyone leaves empty. Keyword in every entry title. One entry a day.
- Portfolio. Main keyword in every title. Upwork reads the text, not the images.
- Overview. Sentences a human reads. A keyword list reads as noise to Upwork's matching AI.
- Pace. Spread the edits over a week, 15 minutes a day. A burst of changes in one sitting can trigger Upwork's identity recheck.
The keywords come from data, not guessing. Every GigRadar scanner has an Insights tab: the words clients actually used in your niche's job posts, with what rose and fell this month. Rising keyword you do not carry yet? That is tomorrow's employment history entry.
Last week I gave away 50% of a $500k ARR business unit. On purpose.
Last week I gave away 50% of a $500k ARR business unit to a web-dev agency owner who thought AI was killing his career.
Here's the cap table math.
His name is Bogdan. He runs a 12-year-old web dev agency. Vibe-coding tools shrunk his pipeline 60% in 18 months. He spent 6 months panicking. Telling his team revenue was going to halve. Exploring exit plans. Considering shutting down.
I'm running a $2.5M ARR Upwork lead-gen SaaS. We have a done-for-you arm. $500k ARR, real operating burden, churning at 1.7x our SaaS base because services don't run themselves.
Everyone in tech is saying AI is replacing services.
YC has been calling for "AI-native services" and "full-stack AI companies" for 2 years. Jared Friedman put it plainly: full-stack AI companies become the existing business, more productive.
What no one is saying out loud:
1/ AI-native services still need operators. The agent doesn't onboard the customer. The agent doesn't read the room. The agent doesn't decide when to escalate.
2/ Operators who survived 12 years in the agency world know how to do those things. They've been training for this category their whole career.
3/ Vibe-coding democratized building. It did not democratize operating. Operating is the moat.
So last week I signed the terms.
50% equity to Bogdan. 36-month vest.
Bogdan isn't on a job ladder. He takes the upside. He owns the P&L. He closes the gap because he has to.
If you run a web dev agency and you think your career is over: you're wrong. The next 5 years of SaaS is being built by people exactly like you.
Bogdan thought he was drowning. He's the most valuable hire I've made this year.
After signing, I pulled the numbers for Bogdan's market.
Web development jobs posted by US only clients, the last six months. Around 5,500 to 5,700 jobs, every single month, December through March. April and May eased off with the usual summer slowdown, and the whole US board breathed out with them. That is thousands of web dev contracts posted by US clients, month after month, right through the AI panic.
| Dec | 5,714 | |
| Jan | 5,705 | |
| Feb | 5,629 | |
| Mar | 5,542 | |
| Apr | 4,968 | |
| May | 4,621 |
See, data does not lie. Bogdan's pipeline fell 60 percent while US clients kept posting thousands of web dev jobs every month. The jobs did not leave. They went to whoever saw the market clearly and showed up first.
That chart took us 30 seconds to pull, because we have been recording this market for 5 years. Every job, every category, every country, every price. Nobody watching Upwork sees more of it than we do. Most agencies bid blind into this. The ones that do not are the ones taking the contracts.