Skip to main content

Upwork Skill Index — 241 pages

241 pages of knowledge ready for AI to read. This page is the full map — for AI or for you — to see what's inside the Skill and find things fast.

Structure, page names, and this map are open — for you (or AI) to look things up fast.

What do you (or AI) need right now?

Where you areStart here
🆕 Blank JD, no idea where to startpath-decision-tree — IF-THEN tree from JD to Submit
🛠 Want to see how this Skill was builtHow to build a maintainable AI Skill — Ingest / Query / Lint · 5-file schema · compounding loop
🎯 Writing a proposal, need to pick a hook + frameworkshelf-blueprints-en — 20+ ready blueprints
📋 Writing a proposal, need a phrase to paste inshelf-phrases — 6 canonical text blocks
💬 Client replied — prepping for chat / interviewshelf-craft-negotiation
📚 Learning proposal-writing fundamentalsshelf-craft-proposal
🐋 Building a long-term freelance careershelf-craft-career
🔍 Looking up the 109 real proposal case studiesScroll down — 109 case studies

🗺️ Five zones of the Skill

Instead of rigid chapter divisions, the Skill splits into 5 zones — each is a way you (or AI) might need to look things up:

Zone 1 — Core skills (by proposal-writing stage)

Each stage has its own shelf:

StageShelf
Before writing — pick job, read JD, plan structureshelf-craft-proposal
While writing — pick hook, pick framework, pick phrasingshelf-blueprints-en + shelf-phrases
After a reply — chat, interview, pricingshelf-craft-negotiation
Long-term — freelance careershelf-craft-career

Zone 2 — Three foundational psychological rules

Not one-off techniques — these are three mechanisms that run across many blueprints. Understand these three and you'll pick blueprints intelligently instead of by rote. Shelf: shelf-mind-rules

Zone 3 — Lookup filters (pick case studies by criteria)

Looking for a case study similar to your JD? Filter by:

Filter byShelf
Stack / skillshelf-stack-nextjs · shelf-stack-react · shelf-stack-mobile · shelf-stack-supabase · shelf-stack-stripe · shelf-stack-ai-llm · shelf-stack-laravel · shelf-stack-figma · shelf-stack-saas
Hook typeshelf-hook-timeline (49) · shelf-hook-general (43) · shelf-hook-thankyou (7) · shelf-hook-pain (4) · shelf-hook-capability (4)
Proof point usedshelf-proof-donamix (72) · shelf-proof-trainizi (62) · shelf-proof-cellphones (52) · shelf-proof-hanz (47) · shelf-proof-clink (15) · shelf-proof-gypsylive (11)
Closer questionshelf-closer-questions (80 templates)

Zone 4 — Paths and pitfalls

Step-by-step guidance + common pitfalls to avoid:

Zone 5 — 109 real proposal case studies

See the full list at the bottom of the page. Each case has the original JD, body, stack, and hook type — AI uses these to mimic winning patterns.


📚 Detailed list per shelf

Shelf — proposal-writing skills (shelf-craft-proposal)

Structure & philosophy:

Preparation before writing:

Advanced level:

Shelf — negotiation & communication (shelf-craft-negotiation)

Chat & interview:

Objection & psychology:

Pricing (shelf-craft-pricing):

Shelf — freelance career (shelf-craft-career)

Shelf — proposal blueprints (shelf-blueprints-en)

Three base frameworks (use as skeleton):

Developer blueprints (5) — Tien Nguyen Laravel/React/Flutter:

Copywriting blueprints (13) — email · sales page · landing page:

Advanced blueprints (8) — insider · audit · demo:

Additional technical blueprints (5):

Sales framework:

Shelf — phrases to paste in (shelf-phrases)

Shelf — Fiverr / copywriting / positioning (shelf-fiverr-genadinik)

Metric / reference

Shelf — psychological rules (shelf-mind-rules)

Live session recordings

Old drafts (progress comparison) — shelf-early-drafts



109 proposal case studies

Bulk-ingested from raw sources. Each case has JD + body + skills + hook type. Status: ⚠ awaiting manual review (analysis section is placeholder).

Fast lookup: use the filter shelves in Zone 3 — filter by stack / hook / proof.

Full 109-case list:

  • case-001 — hook: open-lead — Laravel, Vue.js, Next.js
  • case-002 — hook: open-lead — Supabase, Stripe, PostgreSQL
  • case-003 — hook: open-lead — React, Supabase, Stripe
  • case-004 — hook: open-lead — React, Supabase, Stripe
  • case-005 — hook: open-lead — SaaS
  • case-006 — hook: open-lead — —
  • case-007 — hook: open-lead — React, TypeScript, Mobile
  • case-008 — hook: open-lead — Node.js, Mobile, Redis
  • case-009 — hook: open-lead — Figma
  • case-010 — hook: open-lead — Figma
  • case-011 — hook: ability-lead — Laravel, Mobile
  • case-012 — hook: open-lead — Laravel, React, Supabase
  • case-013 — hook: speed-lead — Next.js, React, Figma
  • case-014 — hook: speed-lead — Next.js, React, Figma
  • case-015 — hook: speed-lead — Next.js, React, Figma
  • case-016 — hook: ability-lead — Next.js, SaaS
  • case-017 — hook: thanks-lead — Figma
  • case-018 — hook: open-lead — Figma, SaaS
  • case-019 — hook: speed-lead — Laravel, Mobile
  • case-020 — hook: speed-lead — Next.js, PostgreSQL, Figma
  • case-021 — hook: speed-lead — Next.js, PostgreSQL, Figma
  • case-022 — hook: speed-lead — Laravel, Vue.js, Next.js
  • case-023 — hook: speed-lead — Next.js, PostgreSQL, AI/LLM
  • case-024 — hook: speed-lead — Next.js, PostgreSQL, AI/LLM
  • case-025 — hook: speed-lead — React, PostgreSQL, Node.js
  • case-026 — hook: speed-lead — React, PostgreSQL, Node.js
  • case-027 — hook: open-lead — React, Supabase, Mobile
  • case-028 — hook: open-lead — —
  • case-029 — hook: open-lead — —
  • case-030 — hook: speed-lead — Supabase, Stripe, AWS
  • case-031 — hook: open-lead — Vue.js
  • case-032 — hook: speed-lead — React, TypeScript, Mobile
  • case-033 — hook: speed-lead — React, TypeScript, Mobile
  • case-034 — hook: open-lead — AI/LLM
  • case-035 — hook: speed-lead — Vue.js, React, PostgreSQL
  • case-036 — hook: speed-lead — Supabase, Stripe
  • case-037 — hook: speed-lead — Next.js, Supabase, AI/LLM
  • case-038 — hook: speed-lead — Stripe, Scraper
  • case-039 — hook: speed-lead — Laravel, Vue.js, Next.js
  • case-040 — hook: speed-lead — Laravel, Vue.js, Next.js
  • case-041 — hook: speed-lead — Laravel, Vue.js, Next.js
  • case-042 — hook: speed-lead — Next.js, React, Supabase
  • case-043 — hook: open-lead — Next.js, React, Supabase
  • case-044 — hook: speed-lead — Next.js, React, Supabase
  • case-045 — hook: speed-lead — Next.js, React, MongoDB
  • case-046 — hook: speed-lead — Next.js, React, TypeScript
  • case-047 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-048 — hook: open-lead — Next.js, Supabase, SaaS
  • case-049 — hook: open-lead — Next.js, React, TypeScript
  • case-050 — hook: open-lead — React, Mobile
  • case-051 — hook: open-lead — React, Mobile
  • case-052 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-053 — hook: speed-lead — Next.js, PostgreSQL
  • case-054 — hook: speed-lead — —
  • case-055 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-056 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-057 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-058 — hook: open-lead — Next.js, Supabase, Stripe
  • case-059 — hook: speed-lead — Next.js, React, Supabase
  • case-060 — hook: open-lead — Mobile
  • case-061 — hook: open-lead — Next.js, React, Stripe
  • case-062 — hook: open-lead — Next.js, Stripe
  • case-063 — hook: speed-lead — React, Stripe, Mobile
  • case-064 — hook: speed-lead — Next.js, React, Supabase
  • case-065 — hook: open-lead — React, MongoDB, Mobile
  • case-066 — hook: open-lead — Next.js, React, Stripe
  • case-067 — hook: open-lead — Next.js, React, Stripe
  • case-068 — hook: speed-lead — Mobile
  • case-069 — hook: open-lead — SaaS
  • case-070 — hook: speed-lead — Next.js, React, Supabase
  • case-071 — hook: speed-lead — React, Supabase, PostgreSQL
  • case-072 — hook: speed-lead — React, PostgreSQL, Node.js
  • case-073 — hook: open-lead — Next.js, Stripe, PostgreSQL
  • case-074 — hook: ability-lead — Next.js, TypeScript, Supabase
  • case-075 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-076 — hook: speed-lead — Next.js, Supabase, SaaS
  • case-077 — hook: open-lead — Next.js, TypeScript, PostgreSQL
  • case-078 — hook: open-lead — Next.js, TypeScript, PostgreSQL
  • case-079 — hook: open-lead — Next.js, TypeScript, PostgreSQL
  • case-080 — hook: open-lead — Next.js, TypeScript, PostgreSQL
  • case-081 — hook: open-lead — Next.js, React, PostgreSQL
  • case-082 — hook: speed-lead — React, AI/LLM
  • case-083 — hook: open-lead — Next.js, React, TypeScript
  • case-084 — hook: open-lead — React, TypeScript, PostgreSQL
  • case-085 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-086 — hook: speed-lead — Next.js, TypeScript, Supabase
  • case-087 — hook: open-lead — Supabase, PostgreSQL, AI/LLM
  • case-088 — hook: speed-lead — Next.js, TypeScript, Stripe
  • case-089 — hook: open-lead — —
  • case-090 — hook: speed-lead — SEO, WordPress
  • case-091 — hook: speed-lead — Next.js, React, Mobile
  • case-092 — hook: speed-lead — SEO, WordPress
  • case-093 — hook: thanks-lead — —
  • case-094 — hook: thanks-lead — —
  • case-095 — hook: open-lead — PostgreSQL, AI/LLM
  • case-096 — hook: open-lead — —
  • case-097 — hook: open-lead — —
  • case-098 — hook: thanks-lead — —
  • case-099 — hook: speed-lead — React, Supabase, Node.js
  • case-100 — hook: ability-lead — Laravel, Vue.js, PHP
  • case-101 — hook: thanks-lead — Next.js, React, TypeScript
  • case-102 — hook: thanks-lead — Mobile
  • case-103 — hook: thanks-lead — Laravel, PHP, Node.js
  • case-104 — hook: speed-lead — Node.js, Stripe Connect, AI/LLM · ✅ final 2026-08-07
  • case-105 — hook: ability-lead — Voice AI, Pipecat, gpt-realtime, Cartesia, SIP · ✅ final 2026-08-07
  • case-106 — hook: open-lead (email VN) — AI/LLM, RAG, Edtech, Vietnamese · ✅ final 2026-08-07
  • case-107 — hook: ability-lead — Next.js, FastAPI, Redis, Anthropic function calling · ✅ final 2026-08-07
  • case-108 — hook: ability-lead — Voice AI, Twilio, gpt-realtime, Supabase RAG, multi-tenant · ✅ final 2026-08-07
  • case-109 — hook: thanks-lead — Full-stack, AI-embedded workflow, invitation · ✅ final 2026-08-07
X

Graph View