The Proposal That Actually Closes (Stop Sending Grey PDFs)

This one proposal has made me more than 60,000 dollars. And it takes me about 15 minutes to build.
In this post I will show you how I build proposals that actually close. And why the way most people send them quietly kills the deal. At the end I will give you the whole system, free, so you can build your own.
Quick note on that number. The 60,000 is the total these proposals have brought in across clients. Not one check, not one deal. Said plain. I have sent a lot of these, for my own agency and for the people I build systems for. I have watched the boring version leak deals and the good version close them the same day.
Here is the thing you send
Let me show you the final thing first.
Your client gets a link. They open it and it asks for their email. A random email gets locked out. Only the people you invited get in. Then they see a clean page made for them.
It opens with their problem, in their own words. There is even a spot where they can drop in their own numbers, so they see the value in real money. Then it shows exactly what you build. Then the offer and the bonuses. Then the price. Then a place to sign. The second they sign, it makes a signed PDF and saves it to a database, so nothing gets lost. Then a pay button. Click it and they go straight to Stripe.
Sign and pay. Same page. Same minute. About five minutes, start to finish. No back and forth.

Why the normal way leaks
Here is the part nobody tells you. The problem is not your price. It is the process.
Watch how most people do it after a call. You send a proposal. They read it and sign it. Then you send an agreement. They sign that too. Then you send an invoice. Then they pay. That is six steps after the call. Six different moments where they can stall, go cold, ask their partner, or just forget.
Sales is an emotional game. The more excited they were on the call, the more that excitement leaks with every day you make them wait. Instead of closing in 15 minutes, it drags into days. Sometimes weeks of follow-up.
Every step is a door they can walk out of. So here is the whole game. If someone already chose you, your only job is to make it stupidly easy to pay you. The good proposal is not fancier. It just removes the doors.
| The boring way | The way that closes |
|---|---|
| A grey PDF, a wall of text | One branded link |
| Proposal, then agreement, then invoice | One thing, all in one place |
| Six steps, six places to drop off | They decide once |
| They sign, then chase the invoice | They sign and pay in one click |
| Days of follow-up | About five minutes |
One link, not three
So instead of a proposal, then an agreement, then an invoice, you send one thing. The proposal, the agreement, and the pay button all live in the same place. They decide once. They sign and pay in the same breath.
Six steps become two. Get on the call. Send the one link. They sign and pay. That is not a little faster. It is a different funnel. No back and forth. No leak.

Speed wins the deal
There is one more thing that makes this matter even more. Speed.
The closer you are to the sale, the more speed matters. The second they say yes on the call, they are hot. Send the proposal in the next 30 minutes and they are still in that feeling. So they sign.
30 minutes is my timer. After that they start to cool. After a few days they are cold, and so is the deal. I have watched that kill good deals.
So getting this down to 15 minutes is not just nice. It can roughly triple how many you close. Same proposals. Just sent while they are still hot.
The structure that sells
Now what actually goes in it. Five parts, in this order. The order is the whole trick.
1. Their problem, first. Open by saying what they are stuck with, in their own words. They should feel like you were listening. This one move makes the whole thing feel custom, even when most of it is a template.
2. Why you, and what they get. Your approach. Exactly what you deliver. Keep it about the outcome, not the features. This is where you show the value.
3. Proof. A real result. A logo. A short note from a happy client. Drop it right before the price, so they trust you at the exact moment they are about to flinch.
4. The price, but only after the value. This is the rule people get backwards. Never show the number cold. Stack everything they get first. So by the time they see the price, it already feels small. I have seen proposals that open with the price, and it is just like, why. A good trick here is to show a high tier next to your real one. The real one suddenly looks like a deal.
5. Legal, last and short. One bit of boilerplate at the very bottom. It is a formality, not the star. Do not open with it and do not make it scary.

One system does all of it
Here is the part that gets me going. I do not build these by hand anymore. And I do not chase signatures or invoices either. One system does all of it.
It generates the proposal with its own live link. It has the email gate, so only the people you invited get in. They sign and they pay on the page. You get the Stripe payment and a ping that they signed.
You need three accounts, all free. Supabase to store the signatures. Stripe for the payments. Vercel to put the page on the web. Then you generate and send with one command in Claude Code.

And here is how you build it, free
Now the best part. I am giving you the whole thing, free.
You do not copy my designs or my keys. You clone one repo, paste one prompt, and your own AI builds your version. It asks you about your brand. It generates a few designs for you. You pick the one you like. Then it wires it all up and puts it on the web.
First, clone it:
git clone https://github.com/qemoza/proposal-system
Then open the folder in Claude Code and paste the setup prompt from the repo. Here is what it does, step by step:
You are setting up my AI proposal system end to end, in THIS folder. Go ONE
step at a time. At the end, a real proposal must: open behind an email gate,
get signed, and take a Stripe payment, in MY brand.
Step 1: keys. Walk me through getting each key one at a time. Write them into
.env. Never print a real key back on screen.
Step 2: Supabase. Create the signatures table and a private storage bucket.
Step 3: Stripe. Ask me for my payment links.
Step 4: design it WITH me. Ask me a few quick questions about my brand. Then
generate 2-3 genuinely different, beautiful designs and show them to me. I pick
one. Build it with the 5 parts in order, the email gate, in-browser signing,
and pay buttons that unlock only after signing.
Step 5: deploy. Set the env vars on Vercel, deploy, give me the live URL.
Step 6: test it for real. Right email opens, wrong email stays locked. Signing
downloads a PDF and lands a row in Supabase. Pay opens Stripe. Do NOT tell me
it is done until all of that passes.
That is it. It gets your keys, sets up the database and the payments, asks you what you want it to look like, builds your design, deploys it, and tests it. It even builds a skill, so next time you just say make a new proposal for this client.

The power move
Want to make it even faster? Connect your call recorder, like Fireflies or Fathom.
After a call, just tell Claude, hey, I finished a call with this person, make a proposal for them. It reads the transcript. It sees the pain points and the solution you talked about. Then it writes the proposal for you, built on what they actually said. That is how you hit the 30 minute window every time.
FAQ
Why do my deals go quiet after a good call? Almost never the price. It is the process. You send a proposal, then an agreement, then an invoice. That is six steps, and people drop off at every one. The fix is one link where they sign and pay in one place.
What should a proposal include, in order? Five parts. Their problem in their own words. Why you and what they get. Proof. The price, but only after the value. Then short legal at the very bottom. The order is the trick.
Why does speed matter so much? The second they say yes on the call, they are hot. Send it in the first 30 minutes and they are still in that feeling, so they sign. Wait a few days and the excitement is gone. Fast sending can roughly triple how many you close.
What do I need to build this? Three free accounts. Supabase for the signatures, Stripe for payments, Vercel to put it online. Then Claude Code to generate and send. The free repo sets all of it up with you.
Is the giveaway really free? Yes. The repo is public at github.com/qemoza/proposal-system. You do not copy my designs or my keys. Your own AI builds your version in your brand.
Want more like this?
So if you keep losing deals after a good call, remember. It is the process, not the price. Stop making people walk through six doors. Hand them one.
That is the kind of system I build for people, taking the manual, leaky stuff off your plate. It is all at qemoza. Want to build your own version? Grab the free repo at github.com/qemoza/proposal-system and go build it.
Written by Hamza Oulad, who builds the AI systems, with Finn Harris, who runs the paid-media side. Together they are qemoza, the AI ops partner for agencies.