Your proposals
| Proposal | Client | Project | Valid until | Status | Value | Actions |
|---|
No proposals yet. Fill in the form below and press Save proposal, or load the example.
New proposal
From
Prepared for
Project
Scope
One block per deliverable. List what is included and, just as important, what is not: most proposal disputes are about what was assumed.
Timeline
Pricing
Add up to three options so the client can choose. Name each one.
Payment
Milestones are a percent of the total. The final balance is whatever is left, so the schedule always adds up. (Hourly proposals invoice monthly; retainers bill each month.)
Assumptions
Terms
Draft the wording from a short brief (optional AI on your own key)
Describe the job in a few lines and get a first draft of the summary, problem, goals, scope and assumptions in the form above. It never writes prices, dates or contract clauses. With no key it builds a starter from the nearest trade template. With your own key, your brief goes straight from this browser to the provider you pick, and nowhere else. Read and edit every line before you send: it is a draft, not advice.
To keep everything on your own computer, run a model locally with Ollama, LM Studio or llama.cpp and pick it below: no key, no cost per use, and the text goes only to your machine. Name a model you have downloaded (for Ollama, ollama list shows them). The local server must allow this page: start Ollama with OLLAMA_ORIGINS=https://duncan-haywood.github.io set, or switch on CORS in LM Studio's server settings. Your browser may ask whether this site may reach devices on your network.
Export, back up, restore
What it does and does not do
- Maths in whole cents. Each price is a sum of lines plus one tax rate on the whole price. Deposit and milestones are percentages of the total, and the final balance is the remainder, so the schedule always adds up exactly.
- Dates are computed, not guessed. Phases run back to back from your start date in calendar days. The finish date is a plan, not a promise, and moves if the client is late.
- Clauses are templates. Change orders, revisions, client responsibilities, payment, ownership and cancellation are generic wording that follows the numbers you type. They are not legal advice and are not tailored to where you work; have a lawyer review any contract.
- Not modelled: e-signatures in the page itself (the signature block is for a pen or a signed PDF; the optional signing server adds a typed-name acceptance with a certificate), online payment, multiple tax rates, per-line tax, currency conversion, and any rule about what a contract must contain where you work.
Common questions
Is this proposal maker really free?
Yes. There is no watermark, no proposal limit, no account and no trial. It runs in your browser, so it costs nothing to serve, and it stays free.
How is this different from Bonsai, PandaDoc, Proposify or HoneyBook?
Those are paid platforms with online signing, payments and client portals. This is a free, private document builder: you fill in the scope, timeline and price, print a clean PDF and send it yourself. Nothing is uploaded and there is no signup, so it suits one-person shops that mainly need the document.
What pricing models can a proposal use?
Four: a fixed price from line items, good-better-best options the client picks between, hourly with a not-to-exceed cap, and a monthly retainer with included hours. Each can carry a tax rate, a deposit and payment milestones.
Are the contract clauses legal advice?
No. The change-order, revision, payment, ownership and cancellation wording is generic template text filled in from the numbers you enter. It is not legal advice and it may not suit where you work or what you sell. Have a lawyer review any contract before you rely on it.
Can the client sign it electronically?
Not in this page, which never uploads anything. The printed acceptance block has signature lines for a pen or for a signed PDF. If you want a private signing link with a typed-name acceptance, a timestamped certificate and an email when it is opened or signed, deploy the optional open-source signing server (server.mjs, one-click on Render, Fly.io or Docker) in your own account and upload the downloaded HTML file to it. Whether a typed-name acceptance is enough for your contract is a question for a lawyer.
Where are my proposals stored?
In your browser on this device only. Clearing site data removes them, so use Download backup now and then; the file restores on any device. Nothing is uploaded.
What happens when a client accepts?
Mark the proposal accepted and choose the option they picked. Send to Estimate Maker then adds the pricing as a draft estimate in Estimate Maker on this device, from where a won job can become an invoice in Invoice Maker.
Does it use AI, and is my data sent anywhere?
Only if you choose to. The wording draft works with no key, building a starter from the nearest trade template. If you add your own API key for Anthropic, OpenAI, Gemini or an OpenAI-compatible endpoint, your short brief is sent from your browser straight to that provider, never to us. The AI never writes prices, dates or contract clauses, and every draft needs your review.