Paste the client email or RFP, or fill the guided form: brand, goals, markets, dates, audience, budget range, activation type. The parser only fills what it can find and lists what is missing. It never invents a date or a budget.
Roles x hours x markets from your rate card. Shift minimums, overtime, markup on materials, tax on taxable lines, a minimum engagement rule, contingency and discounts. Integer cents, unit tested. No AI is involved in a price.
Three options (essential, recommended, premium) from the activation template. If you gave a budget range, the recommended option is trimmed to fit and says so. If it cannot fit, it says that too.
Drafts edit in place. Sending freezes the version with a fingerprint. Any later change becomes a new version, and the older link shows it was superseded.
One link per proposal, optional password. View tracking moves the pipeline from sent to viewed. The PDF comes from the same page, so the numbers match.
The client picks an option and accepts with name, email and a timestamp. We store the option chosen and a SHA-256 fingerprint of the exact version. Then a deposit request: simulated checkout, or Stripe in test mode.
If you chose Staff with Air Fresh, acceptance (or the deposit) can push a work order with the roles, headcount, hours and markets. It is idempotent, and failures can be retried.
Off unless you add a key. When on, it can only reword the headline, summary and option pitches. A rewrite is thrown away if any number changes.