Client Research Method - System Reference¶
A working reference for researching a prospective client BEFORE writing a proposal. Cuts research time from 30 min → 5-15 min by enforcing a tight, repeatable workflow.
Loaded as system prompt for the client-research Claude skill (Phase 2.1 in strategy/upwork/todo.md). Also used by hand when drafting proposals directly.
Goal of pre-bid research¶
Win the bid by being the only freelancer who clearly understood the brief AND the client.
Most freelancers respond to the brief in isolation. The differentiator is referencing something specific about the client - their current website, their brand voice, a competitor they mentioned, a problem visible in 5 minutes of looking - that signals "I did 10 minutes of work before writing this".
Research is NOT to write a strategy document. It's to extract 3-5 specific anchors that make the proposal feel custom.
Time budget (strict)¶
| Bid value | Research time cap |
|---|---|
| Under $500 | 5 minutes |
| $500-$2,000 | 10 minutes |
| $2,000-$5,000 | 15 minutes |
| $5,000+ | 25 minutes (with Tier 2 pre-built mockup) |
Going over budget loses money on the bid even before delivery. Set a timer.
Inputs¶
- Brief text (always present)
- Client URL (often present, sometimes not)
- Named brand / company (sometimes mentioned in brief, sometimes inferable from URL)
- Client country / location (from Upwork tile, affects timezone + trust signal expectations)
- Budget + post age (filters how much time to spend)
- Client history on Upwork (spending, hire rate, avg paid rate, payment verified)
Research steps (run in this order, skip irrelevant)¶
Step 1: Read the brief twice¶
Time: 1-2 min.
First read for the literal ask. Second read for:
- The single specific outcome they want (more leads / more sales / more demos / more signups / cheaper CAC / faster delivery / etc)
- Pre-screening filters that disqualify you ("must have built X in industry Y")
- Application questions you must answer specifically
- Tools they name (positive match against our config/portfolio.md lists)
- Anti-tools they name (reject if it's in our hard-reject list)
- Vertical / industry (cross-reference with our 7 spec pages)
- Brief sophistication (do they mention CRO, GA4, A/B testing? if yes, premium-buyer signal; if no, simple-buyer)
Output: a 3-line summary of the brief in your own words.
Step 2: Visit the client URL (if provided)¶
Time: 3-5 min.
Open in browser. Run through this checklist:
Brand & voice - What do they sell? (1 sentence) - Who's their customer? (1 sentence, demographic + use case) - What tone is their copy? (formal / casual / technical / playful / corporate) - Visual brand: clean / cluttered / premium / startup / corporate / quirky - Their stated USPs (look at hero copy, "About" page if linked)
Current state - Stack (use BuiltWith.com or Wappalyzer browser extension - 30 seconds): WordPress / Shopify / Webflow / custom / Next.js / etc - Run PageSpeed Insights on their main LP (1 min): note mobile Lighthouse score + LCP + CLS - 2-3 CRO issues visible at a glance: form too long / no above-fold CTA / hero unclear / no testimonials / slow load / mobile broken / etc
Trust posture - What trust signals do they currently use? (testimonials / logos / press / awards / guarantees) - What trust signals are MISSING that their vertical needs? (e.g. healthcare without clinician credentials)
Existing landing pages - Do they have other LPs? (often subdomain like quote.brand.com or get.brand.com) - If yes, do they have one for the offer in the brief? (no = good - confirms the work needed) - If yes for the same offer, what's wrong with it?
Step 3: Skip step 2 if no URL provided¶
Time saved: 3-5 min.
In this case, infer what you can from the brief alone: - Industry (from sector mentioned) - Stage (early-stage / mid-market / enterprise based on budget + language) - Tooling preferences (from any tools they name)
Don't fabricate. Note in the proposal "I couldn't find your current site - if you have one I'd like to look before kickoff".
Step 4: Competitor scan (2-3 min)¶
Open Google in a private tab. Search:
- "[their vertical] landing page" - see top 3 organic + top 3 paid
- "[their main competitor] vs [client name]" (if client mentions a competitor)
- site:[competitor.com] landing (if competitor known)
Note: - 1-2 patterns top competitors use that the client doesn't - 1 pattern you'd specifically NOT copy (something everyone in the vertical gets wrong)
Step 5: Cross-reference against our portfolio¶
Time: 1 min.
Open config/portfolio.md. Check:
- Do we have a spec page in their vertical? (positive match - mention in proposal)
- Do we have a tool match? (positive match if they named Next.js, Lovable, Vercel, Tailwind, etc)
- Are there gaps? (e.g. brief asks for explicit healthcare experience and we don't have a healthcare spec page yet - flag in our internal notes; the proposal handles the gap inside an answer to a specific question, not in the opener)
Step 6: Synthesise to 3-5 anchors¶
Time: 1-2 min.
Boil down everything to 3-5 specific anchors that will appear in the proposal:
- The specific outcome they want (one sentence)
- One observation about their current state ("I ran PageSpeed Insights on your main LP - it scores 47 on mobile, LCP at 4.8s - first thing I'd fix")
- One match to our portfolio ("Kiwi Storage was an almost identical brief - 3.95x conversion lift on a paid-social LP")
- One thing about their brand voice or vertical ("Healthcare clients usually want calmer copy than the brief suggests - happy to share examples")
- One specific question or proposal item (something custom, not template)
These anchors are what makes the proposal feel custom in 5 minutes of work.
What we DELIBERATELY don't research¶
Don't fall into these rabbit holes:
- Don't read their entire blog. Skim the hero + one product page. That's enough to infer tone.
- Don't run SimilarWeb traffic estimates unless the bid is $5K+. Useful info but eats 5 min.
- Don't analyse their email funnel. Out of scope for a landing-page bid.
- Don't reverse-engineer their ad creative. Unless they explicitly link the ad in the brief.
- Don't audit their full stack. BuiltWith one-glance only.
- Don't research the founder's LinkedIn. Unless their personal brand is the offer (course / coaching).
- Don't read competitor reviews. You're bidding on a landing page, not running their CX research.
If you find yourself going down any of these rabbit holes, set a timer. 5 minutes max on the rabbit hole before snap-back.
Output format¶
When this method runs as a skill (Phase 2.1), the output should be a single Markdown block:
## Client research summary
**Brief one-liner:** [3-line summary in your own words]
**Their goal:** [specific outcome they want]
**Current state:**
- Stack: [WordPress / Shopify / etc]
- Lighthouse mobile: [score], LCP [seconds]
- 2-3 visible CRO issues: [bulleted]
- Trust signals present: [list]
- Trust signals missing: [list, vertical-specific]
**Brand voice:** [1 sentence - formal/casual/technical/etc]
**Vertical match to our portfolio:** [name spec page / Kiwi case study / etc, OR flag gap]
**Tool match:** [positive matches with our keyword list, OR flag if they name a hard-reject tool]
**3-5 proposal anchors:**
1. [Specific outcome reference]
2. [Specific observation about their site]
3. [Specific portfolio match]
4. [Specific brand/vertical observation]
5. [One thing to propose that's custom]
**Recommended tier:** [Essential $499 / Conversion+ $1,499 / Performance $2,999]
**Recommended add-ons:** [from packages.md add-on list]
**Recommended bid:** [final price = tier + add-ons]
**Honest gaps to address inside an answer (not the opener):** [list]
**Skip this bid?** [Yes/No + reason if Yes]
Tools used (free or cheap)¶
| Tool | What it tells us | Time |
|---|---|---|
| PageSpeed Insights (web.dev) | Mobile / desktop Lighthouse score, LCP, CLS, FID. The first thing to mention if score is poor. | 30s |
| BuiltWith browser extension or builtwith.com | Tech stack of any site - CMS, hosting, analytics, fonts, ads. | 30s |
| Wappalyzer browser extension | Similar to BuiltWith, lighter weight. | 30s |
| Google search (private/incognito tab) | Competitor pages, comparison searches, vertical patterns. | 1-2 min |
| GTmetrix | Deeper performance analysis if PSI flagged issues and bid value warrants. | 2 min |
| SimilarWeb | Traffic estimate (free tier limited). Only for $5K+ bids. | 2 min |
| Founder background / team size - only if personal brand is the offer (course/coaching) or if bid is $5K+. | 3 min |
Heuristics for prioritisation¶
- No URL provided + bid under $500: skip Step 2 entirely. 3 min total research.
- URL provided + bid under $500: Steps 1, 2 (quick), 5, 6. 5-7 min total.
- URL + bid $500-$2K: all steps. 10 min total.
- URL + bid $2K-$5K: all steps + 5 min on competitor research. 15 min total.
- URL + bid $5K+: all steps + SimilarWeb + maybe pre-built mockup (per playbook). 25 min total + 1-2hr mockup if approved.
Quality checklist before writing the proposal¶
For every bid, confirm: - [ ] 3-line brief summary written in own words (not copied from brief) - [ ] Visited client URL (if provided) - [ ] Ran PageSpeed Insights on their main LP (if URL provided) - [ ] Identified at least one specific anchor not in the brief - [ ] Cross-referenced portfolio for vertical / tool match - [ ] Checked criteria.md / portfolio.md for any reject signals (WP / Webflow / Shopify / etc as MANDATORY) - [ ] Decided which tier and add-ons to propose - [ ] Set timer didn't go over time budget - [ ] Output formatted as the standard summary block
Sources / references¶
- BuiltWith - https://builtwith.com - 28,000+ web technologies detected
- Wappalyzer - https://www.wappalyzer.com - alternative stack detection
- PageSpeed Insights - https://pagespeed.web.dev - Google's official Core Web Vitals tool
- GTmetrix - https://gtmetrix.com - deeper performance reports
- SimilarWeb - https://www.similarweb.com - traffic estimation (free tier exists)
- Baymard Institute CRO heuristics - https://baymard.com/ux-benchmark - what visible issues to look for
- NN/g 5-second test - https://www.nngroup.com - methodology for hero-section evaluation
Status¶
Phase 0.4 of strategy/upwork/todo.md. Designed to be loaded as the system prompt for the client-research Claude skill (Phase 2.1). Also usable by hand when drafting proposals directly.
Test before generalising: any new research step added here must demonstrably improve win rate or reduce time. Track outcomes in strategy/upwork/tests.md.