5 items
Draft Upwork proposals against your own self-hosted ProposalLift server. You always submit manually. ProposalLift Open Source drafts your Upwork proposal on the apply page — using your own server, your own AI key, and your own writing. Open a job's apply page and a panel appears bottom-right. Pick a persona, pick a hook, click Write with AI, and the draft streams directly into Upwork's own proposal box as it is written. Select any sentence to rewrite it in place. You review every word, and you press Submit yourself. ▍BEFORE YOU INSTALL — THIS NEEDS YOUR OWN SERVER This extension is a client with no service behind it. There is no ProposalLift account, no sign-up, no free tier, and no paid plan. To use it you need: • A ProposalLift instance you host yourself — source code and setup: https://github.com/developios-git/proposal-lift-open-source • Your own OpenAI or Anthropic API key, saved in that instance's Settings • Chrome 109 or newer No server address is compiled into this extension. You type your instance's address once, and it talks to nothing else for the rest of its life. If you are not running the server, there is nothing here to connect to. ▍HOW IT WORKS 1. Click the toolbar icon and enter your server's address 2. Press Sign in — a window opens on YOUR site, you log in there, and approve the connection 3. Open any Upwork job's apply page 4. Choose your persona, template, hook style, tone, length, and AI model in the panel 5. Click "Write with AI" — the proposal streams into Upwork's proposal field 6. Select any passage and click Rewrite to change just that part 7. Read it, edit it, submit it yourself ▍WHAT IT DOES • Job-aware drafting — reads the title, description, required skills, budget, and experience level off the page and writes against them • Personas — write as a saved freelancer profile: bio, skills, experience, portfolio links. Switch per job. • Portfolio matching — your server picks the past projects closest to this job and works them into the draft • Templates — reuse proposal structures you already win with • Hook styles — Relatable Pain Point, Mini Case Study, Callout + Quick Win, any hook you have saved, or free-text custom instructions • Inline rewrite — select a sentence, say what you want changed, and get a replacement grounded in your persona and knowledge base. Nothing replaces your text until you accept it. • Screening questions — tick one checkbox and the panel detects the questions on the page and fills in the answers alongside the proposal • Unicode bold — select text and press Ctrl+B (⌘B on Mac) for bold that survives Upwork's plain-text field, no markdown • Tone, length, and model — professional through casual, short through long, and either provider you have a key for • Your own AI key, your own bill — usage goes straight to OpenAI or Anthropic at cost. Nothing meters you. ▍PRIVACY • Job text and your drafts go to your server and your AI provider. Nowhere else. We operate no servers in this product and receive nothing. • Your Upwork login is never touched. Sign-in happens on your own domain in a normal browser window; no password ever enters the extension. • Nothing is ever auto-submitted. The extension never clicks Upwork's buttons and never spends a Connect. • No analytics, no telemetry, no tracking, no cookies read, no browsing history. ▍SIGNING OUT Sign out clears your session and keeps the server address. Pointing the extension at a different server signs you out of the old one everywhere, on purpose — one server's session is never handed to another.
Sep 11, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.