14 red flags in a freelance job post — and what each one costs
Almost every unprofitable project announced itself in the job post. The problem is that the signals are individually survivable — it is the stacking that ruins a quarter. Here is what to look for, what each one actually costs, and the question that settles it before you spend an hour writing a proposal.
Scope and specification
1. The deliverable is a noun, not a definition
“I need a website.” “Looking for an app.” “Need a logo.” A deliverable named but not bounded is the single most reliable predictor of scope creep, because you and the client are each holding a different picture and neither of you knows it yet.
What it costs: the gap between the two pictures, paid in unbilled revisions. On a fixed-price engagement this comes directly out of your effective hourly rate.
The question that settles it: “What does done look like? If I deliver X, Y and Z, is the project complete?” A client who can answer crisply is a client with a specification in their head. One who cannot has not finished thinking, and you are being hired to finish thinking for free.
2. “Simple”, “quick”, “should be easy”
Adjectives that estimate the work before anyone has scoped it. They are rarely malicious — the client genuinely believes it — but they establish an anchor you will spend the whole project arguing against.
What it costs: every hour beyond the client's imagined effort feels to them like padding, which turns your invoice into a negotiation.
The question: “What makes you say it's simple — have you had something similar built before?” Sometimes the answer is yes and they are right. Usually it reveals the estimate is a guess.
3. A feature list with an “etc.” in it
“Login, dashboard, reporting, admin panel, etc.” The etc. is the whole project. Everything before it is the part the client happened to think of in the two minutes they spent writing the post.
What it costs: unbounded. This is the flag most likely to double a project.
The question: “Can we agree the scope is exactly this list, and anything else is a change request?” Watch whether they treat that as reasonable or as you being difficult.
4. No mention of what already exists
A post that describes a destination but not a starting point is hiding the hard half. Existing code, an existing brand, an existing vendor you will inherit, a half-finished attempt by the last freelancer — integration with reality is usually more work than building fresh.
What it costs: often the difference between a two-week and a six-week project.
The question: “What's in place today, and has anyone worked on this before me?”
Budget and payment
5. No budget, or a budget that is obviously a placeholder
A missing budget is not automatically bad — plenty of serious clients want to be advised. A budget of exactly $500 for something that is plainly a month of work is different: it tells you the client has not connected the work to its cost.
What it costs: the proposal you write for it, and often a negotiation you lose anyway.
The question: “What range were you working with?” If the answer is “what would you charge”, quote from effort and watch the reaction. The reaction is the information.
6. Fixed price on undefined scope
Fixed price is fine. Undefined scope is fine, early. Together they are a structural trap: you carry all the risk of the ambiguity, and the client carries none, so nobody has an incentive to resolve it.
What it costs: the variance. Your worst case is unbounded; your best case is what you quoted.
The question: “Could we do a paid discovery to pin the scope, then fix the price?” A client who refuses to pay for a day of scoping is telling you what they think your time is worth.
7. Payment terms that appear only after you ask
Milestones, deposits and terms are cheap to state up front. A post that omits them entirely — especially a large one — is a post written by someone who has not thought about how you get paid.
What it costs: cash-flow risk, and a meaningful chance of chasing a final invoice.
The question: “What are your payment terms, and can we work to milestones?”
8. Payment contingent on something outside your control
“Paid on launch.” “Once we close funding.” “When the client approves.” Your invoice now depends on someone else's decision, timeline or solvency.
What it costs: potentially the entire fee, and always the certainty.
The question: “Is payment tied to my delivery or to the funding round?” There is exactly one acceptable answer.
The client themselves
9. No history, or history that ended badly
On a marketplace this is visible: no hires, low hire rate, disputes, a trail of short contracts. Off a marketplace it takes a search. Either way, past behaviour is the best available predictor.
What it costs: a first-time client is not a disqualifier, but they are unpriced risk. Price accordingly or ask for a larger deposit.
The question: “Have you worked with a freelancer on this before? How did it go?”
10. Urgency that has no reason behind it
“URGENT.” “Need this by Friday.” Real deadlines have causes — a launch, a conference, a contract date. Manufactured urgency exists to stop you thinking, and it usually persists into the project as a permanent state of emergency.
What it costs: a rush premium you probably will not charge, and the quality you would rather have delivered.
The question: “What happens on Friday?” A cause is reassuring. A pause is not.
11. The post is about them, not the work
Paragraphs on their vision, their disruption, their culture — and three lines on what you would actually do. This inverts on contact: the work is underspecified because it is not what they are excited about.
What it costs: meetings. A great many meetings.
12. Unpaid test work
“Send a sample.” “Complete this short task so we can see your approach.” A portfolio is the sample. A paid trial is entirely reasonable; an unpaid one is a request for free labour dressed as a hiring process, and at scale it is a way to get work done for nothing.
What it costs: the hours, and the precedent you set in the first interaction.
The question: “I'd be glad to do a paid pilot — would that work?”
Process and decision-making
13. No named decision-maker
“The team will review.” “We'll run it past stakeholders.” Approval by committee multiplies revision rounds by the number of opinions, and none of those people read the brief you agreed.
What it costs: revision rounds, which on fixed price come out of your margin directly.
The question: “Who signs off, and how many rounds of revisions are we planning for?” Get the number into the contract.
14. You are asked to work outside the platform immediately
On a marketplace, an instant push to move off-platform strips the protections you were relying on — escrow, dispute resolution, a payment record. Sometimes it is fee avoidance. Sometimes it is worse.
What it costs: every protection at once, usually before any trust has been established.
Why stacking matters more than any single flag
None of these should be an automatic no. Plenty of good projects arrive with a vague deliverable, and plenty of excellent clients have never hired a freelancer before. Treating any one flag as disqualifying just means turning down work.
What matters is how they combine. A vague scope is a scoping problem. A vague scope plus a fixed price is a structural risk. A vague scope plus a fixed price plus approval-by-committee plus manufactured urgency is a project that will consume a month and pay for a week — and each of those, alone, looked survivable.
This is the reasoning behind how Opportunity Radar scores a post. Rather than counting flags, it weighs seven dimensions and combines them: skill match carries the most weight at 25%, then budget fit, profit potential and win likelihood at 15% each, and scope quality, client quality and strategic fit at 10% each. A post can absorb a weak showing on one dimension. It cannot absorb three, and the arithmetic makes that visible before your optimism does.
Turning a flag into a question
Notice that almost every flag above resolves into a question you could ask in two sentences. That is deliberate, and it is the practical value of reading a post carefully: you are not looking for reasons to decline, you are looking for the three things you do not yet know.
Ask them before writing the proposal, not after. The answers tell you whether to bid, what to charge, and — often the most valuable outcome — that this client is worth keeping. A client who answers four pointed questions clearly and quickly is demonstrating exactly the behaviour that makes a project profitable.
Opportunity Radar reads a job post and scores it across those seven dimensions in about a minute, listing the risks it found and the questions worth asking. The free plan covers ten posts a month.