How it works

The boring machinery behind a proposal that gets a reply.

Proposal Ace is a very specific tool with a very small job. Here is what happens between the moment you paste a job post and the moment you hit send.

Most AI writing tools try to be everything. They will write your blog post, your email, your apology to your landlord, and a haiku about your dog, all with the same generic voice. Proposal Ace does one thing. It turns a job post and a profile into a proposal that sounds like a freelancer who actually read the post. Every single design choice in the product comes out of that narrow purpose.

The inputs, and why they matter more than the model

There are two text boxes and a tone picker. That is the entire interface, and that is on purpose. You could build a version of this with fifty fields: industry, years of experience, preferred rate, niche, portfolio link, testimonials, certifications. Every extra field you add costs you something. It costs the freelancer time to fill in. It costs the writing clarity, because the AI starts trying to work every field into the proposal and the output gets cluttered. And it costs trust, because people fill in fields sloppily when there are too many of them.

Two boxes keeps the pressure on the right place. Paste the whole job post, including the messy parts the client probably should have cleaned up. Paste your actual profile, not a marketing version of it. The tool does not need you to perform. It needs raw material.

The job description box is the more important of the two. The proposals that perform best are the ones where the freelancer gave the tool as much context as possible. If the client mentioned that their last developer took three weeks to respond to Slack, paste that in. If the client said the project is urgent because of a product launch in May, paste that in. If the budget is oddly specific, like $2,347 instead of a round number, paste that in too. These small details are where the good hooks come from.

What the system prompt is actually doing

Under the hood, every generation goes through a prompt that has been refined over hundreds of proposals. It is not a trade secret. The core of it is on the product page: a short set of rules that tells the model to behave like a top 1% freelance closer, to open with a specific hook, to name the client's real problem, to match skills precisely instead of dumping a résumé, to add one concrete credibility beat, to propose a tight plan, and to close with a question. The rules also include a long list of banned phrases that are dead giveaways for AI writing.

The reason this matters is that a generic model, asked to write a proposal with no rules, will default to the average of everything it has ever read. The average freelance proposal on the internet is terrible. It opens with I hope you are doing well, it pads with I am highly passionate about, and it closes with Looking forward to your response. The system prompt pushes the model off the average and toward the top of the distribution. That is most of the value here. The underlying model is powerful but neutral. The prompt is what makes it specific.

The tone selector feeds into this as well. Picking Confident, Warm, Expert, or Concise changes not just the vocabulary but the sentence rhythm. Confident uses shorter, more declarative sentences. Warm uses more conversational transitions. Expert allows more technical specificity and permits longer sentences. Concise strips ruthlessly. You should match the tone to the client's own writing in the job post.

Streaming, and why the proposal appears word by word

You will notice the proposal writes itself onto the screen in real time rather than appearing all at once. That is not a gimmick. It is streaming from the model token by token, the same way a human types. There are two reasons we kept it that way. The first is that it lets you start reading before the generation is finished, which matters when you are sending a lot of proposals and every second counts. The second is psychological. When you watch a proposal compose itself, you pay attention to it. You notice the phrases that do not sound like you. You edit more, and your final send is better because of it.

If the output arrived as a finished block, you would be tempted to copy it without reading. That is a worse outcome for you. The streaming is a gentle forcing function that keeps you engaged with what gets sent out the door under your name.

What happens if the output is not good

Sometimes the proposal comes back flat. Usually this is because the job post or the profile did not give the tool enough to work with. A job post that is two lines long does not have much for the hook to grab onto. A profile that says I am a freelance designer and nothing else forces the model to generalize. If the output is weak, the first move is not to regenerate. It is to add more detail to the inputs.

Specifically, look at what the client actually asked for. Are there keywords you can include in your profile section to make the match clearer? Is there a credential or a past project that directly mirrors what they need? The tool cannot invent these for you. It can only work with what you give it. Feed it better raw material and the output improves immediately.

If the output is still not landing after a second attempt, the honest answer might be that the job is not the right fit. Proposal Ace will not manufacture expertise you do not have. That is a feature, not a limitation. The fastest way to damage your reputation on a platform is to land a gig you cannot deliver. A quiet pass on a wrong-fit job saves you from that trap.

Copying, editing, and sending

There is a one-click copy button in the output pane. Use it, then paste the proposal into the platform where you are applying. Before you hit submit, read it once more with fresh eyes. There are a few common edits that tend to improve almost every generated proposal.

Swap the hook for a detail you noticed on the client's site that the tool could not see. The tool only has the job post to work from. If you clicked through to the client's landing page and noticed they just rebranded, that observation beats whatever the tool wrote. Rewrite the first line accordingly.

Tighten anywhere you feel a sentence dragging. The model tends to slightly over-explain in the middle of the proposal. Usually there is one sentence you can cut without losing meaning. When in doubt, cut.

Make sure the close feels like you would actually write it. The tool ends with a question by default, because questions are easier to reply to than statements. But if the client's tone suggests they hate small talk, swap the question for a direct suggestion. For example, Happy to do a short paid test task this week if that helps you decidecan outperform Does this sound like the kind of approach you had in mind? with certain clients.

Privacy and what happens to your inputs

The inputs you paste are sent to the Anthropic API to generate the proposal and are not stored on our servers. There is no account system to save your drafts, by design. If you want a proposal you can revise later, paste it into your own notes. The tradeoff is that you get a faster, simpler tool with a smaller privacy footprint. You are not training a dataset by using Proposal Ace. You are just writing a proposal.

What Proposal Ace is not

A few things it will not do, and should not do. It will not write your full application on platforms that require answers to specific screening questions. Those answers should come from you, in your own voice, because clients read them carefully. It will not negotiate your rate for you. Rate negotiation is a conversation, not a one-shot generation, and it depends on context that a proposal generator cannot see. And it will not save you from applying to jobs you are not qualified for. If the hook it produces sounds thin to you, trust that instinct. The client will feel the same thing.

The thirty-second workflow

Once you are used to the tool, the whole process looks like this. You find a job you want. You read the post once, quickly, to check the fit is real. You copy the whole post into the left box. You paste your profile into the right box, which you have saved in your clipboard manager because it rarely changes. You click the tone that matches the client's voice. You watch the proposal stream in. You read it, make one or two small edits, copy it, paste it into the platform, and submit. Thirty seconds, forty at most. The quality is at the top of the distribution, and the speed means you get to do this twelve more times before your competitors finish their first one.

That is the tool. It is small, it is opinionated, and it does a very narrow thing very well. Come back to the home page and try it on a job you were going to skip.

Why streaming changes how people edit

There is a subtle behavioral thing that happens when you watch text appear word by word. You read at the speed of generation, which is slower than the speed you would read a finished block. That forced slowdown is where quality edits come from. You notice a phrase in the middle of a sentence that does not quite land. You catch a claim that is slightly stronger than what your profile actually supports. You see the tool reach for a word you would never use and you know to swap it before sending. If the proposal arrived all at once, most users would copy it without pause. The streaming enforces a gentle review pass that improves the final send meaningfully.

This is the kind of small design decision that does not make it into marketing copy but shapes outcomes more than the features that do. Speed of light generation is not the goal. Useful generation is the goal. A tool that produces a perfect draft at superhuman speed but encourages users to skip review is a worse tool than one that is slightly slower but leaves you with a draft you actually thought about.

Handling edge cases in the job post

Some job posts are not really job posts. They are one-line requests, they are vague feelers, they are reposts of the same gig for the third time, or they are copy-pasted requirements documents that read like legal contracts. The tool handles all of these, but the quality of the output depends on matching your input strategy to the situation.

For one-line requests, add context yourself. If the client wrote only need a Shopify dev for a small project, paste that into the job box followed by your own best guess at what the project probably is, clearly labeled as your interpretation. The tool will pick up on the labeled interpretation and write the proposal as though you have already had a short conversation with the client. This is not dishonest. You are showing the client your reasoning about their request, which is the exact kind of specificity that wins replies.

For vague feelers, consider not applying at all. A job post that is too thin to generate a good proposal from is usually a job post from a client who has not yet decided what they want. Those clients are slow to hire, change their minds often, and waste applicant time. The correct move is often to skip, not to force a pitch.

For long requirements documents, extract the top three or four priorities yourself before pasting. A ten-page requirements doc buries the signal in noise. The tool will try to address everything and the proposal will read as exhausted. Better to paste a short summary plus the specific sections you want to address, and write the proposal around those.

Keeping your voice when you use the tool often

The risk with any writing assistant used daily is that your own voice gradually shifts to match the tool's voice. This is worth guarding against. The way to do it is to keep writing some proposals from scratch, deliberately, even when the tool would be faster. Maybe one in five. The from-scratch ones keep your hand in, which means the edits you make to the tool-generated ones stay sharp. A freelancer who never writes from scratch anymore loses the taste for specificity over time, which is the thing the tool depends on the user supplying.

The other guard is to read the output critically every time, not uncritically. Ask whether a specific sentence sounds like something you would actually say. If not, rewrite it in your own words. The tool's voice is competent but generic. Your voice is the thing the client is ultimately hiring, so it should show up on the page at least once in every proposal you send.

Stop writing from scratch every time

The generator on the homepage turns any job post into a proposal that actually reads like a human wrote it. Free, no signup, takes about six seconds.

Write my proposal →