How to write a proposal that wins
A winning proposal shows that you understood the brief, answers the real problem in plain words, and splits the work into clear milestones with a fixed price, estimated hours and concrete deliverables. Relevant proof from past work does the rest.
Last updated:
Read the brief like a client
Before you write anything, find the goal behind the request. A client who asks for "a booking app" wants fewer phone calls and fewer missed appointments. Say that goal back in your first lines. It shows you listened, and it lets the client correct you early.
Note what is unclear. Good questions are part of a good proposal. Two or three sharp questions beat ten generic ones.
What an ErdiBuilds proposal contains
A proposal on ErdiBuilds is built from milestones. Each milestone has a fixed price, estimated hours and a deliverables text of at least 100 characters, plus an optional checklist. Clients see proposals sorted by match score, so the structure matters as much as the cover note.
Parts of a milestone
- Fixed price
- What the client funds for this result.
- Estimated hours
- How you reached the price, based on your own hourly rate.
- Deliverables
- At least 100 characters on what the client gets when this is done.
- Checklist
- Optional. Items the client can tick off while reviewing.
Milestones are from 50 to 2,000 each in your project currency. Each milestone is funded before work starts and runs 1, 2, 3, 4, 6 or 8 weeks. Learn how to set the numbers in pricing fixed-price milestones.
A structure that is easy to read
- One sentence on what you understood the goal to be.
- Your plan in plain words: what you build first and why.
- The milestones, each with a clear result a non-technical person can verify.
- One or two pieces of relevant proof, such as a live app of a similar kind.
- A short list of questions or assumptions.
- How you communicate and how often you share progress.
Make the deliverables text do the selling
A deliverables text with a vague phrase like "frontend work" tells the client nothing. A text that says what users can do, where it runs and how the client can check it builds trust. It also protects you, because the client approves against it.
| Topic | Weak | Strong |
|---|---|---|
| Login | Authentication | Users sign up with email, log in, log out and reset a password. Works on the staging site. |
| Payments | Stripe integration | Customers pay a monthly plan by card and see their status on an account page. |
| Mobile | App screens | Home, search and detail screens run on iOS and Android in a test build you can install. |
Login
- Weak
- Authentication
- Strong
- Users sign up with email, log in, log out and reset a password. Works on the staging site.
Payments
- Weak
- Stripe integration
- Strong
- Customers pay a monthly plan by card and see their status on an account page.
Mobile
- Weak
- App screens
- Strong
- Home, search and detail screens run on iOS and Android in a test build you can install.
Use your match score and portfolio
Matching looks at help type, project type, technologies, portfolio, budget fit and availability, and shows a score from 0 to 100 with plain reasons. A developer needs at least 40 to apply, and 80 or more earns a Top match badge. Your technologies are listed as "Expert in" (up to 6) or "Also works with", so choose honestly. Applying is free, with no paid bids.
Because applying is free, apply to projects you can really do. A focused proposal for a good fit does more than ten copies of the same text. See how to build a portfolio for the proof side.
Mistakes that lose projects
- Copy and paste text that never mentions the project.
- Technical jargon without explanation.
- One huge milestone instead of clear steps.
- Promises you cannot keep, such as a date you have not planned.
- Moving the conversation off the platform before a contract exists.
Frequently asked questions
How long should a proposal be?
Long enough to show you understood the goal and to explain the milestones, and short enough to read in a few minutes. Clear milestones matter more than a long cover note.
Link to this answerHow long must the deliverables text be?
Each milestone needs a deliverables text of at least 100 characters. Use it to say what the client gets when the milestone is done.
Link to this answerIs the checklist required?
No, it is optional. It helps when you want to give the client concrete items to check during review.
Link to this answerIs there a limit on proposals?
Applying is free, with no paid bids. You still need a match score of at least 40 for a project.
Link to this answerHow do I set the price of each milestone?
Estimate the hours for one clear result, multiply by your hourly rate and add a buffer. The guide on pricing fixed-price milestones walks through it.
Link to this answerRelated pages
- How to Price Fixed-Price MilestonesA method for developers: turn your hourly rate and honest estimates into a fixed price per milestone, with buffer, scope limits and clear deliverables.
- Build a Developer Portfolio That Gets HiredWhat belongs in a developer portfolio: a few real projects, short case studies, working links, honest numbers and proof of ownership clients can trust.
- How to Split a Project Into MilestonesSplit a software project into milestones that each deliver something you can see and approve. Rules, an example plan and a free planner tool.
- How it worksFrom idea to finished project, step by step.
- For developersHow independent developers join and get hired.
- Guides for your projectPlain guides on planning, scoping and paying for apps, SaaS, websites and games, written for people who are not developers.