Mr Bean's girlfriend waiting to be kissed

Have You Proposed Right? Part 2: How I Wrote Winning Proposals

Part 1: How NOT to Write a Winning Proposal demonstrated all the tragicomic approaches for writing proposals to projects on freelance platforms such as Fiverr, Freelancer, PeoplePerHour, Upwork, etc. The article gave plenty of tips for getting it right also.

Now for the good part. The part where you learn how to win Upwork jobs, consistently!

I’ll give you a detailed description of the process that I take to nail the proposal process from the beginning to the end. I have to admit I haven’t had much need for this lately because of relying on direct invitations from clients, but I can still remember the process from those days back then. All the projects relate to AR/VR technologies, usually to making Microsoft Kinect apps, obviously because that is what I specialized in from the beginning.

There are two mediums here: online freelance sites that force a certain process and format, and direct proposals to clients as free-form documents which could be suitable for online and IRL quotations for larger projects.

Part 2 will cover the standard case of proposals sent via freelance platforms. Regardless of the platform, the normal process includes (as mentioned earlier) the following steps:

  1. Searching for a suitable project
  2. Crafting the proposal/quotation
  3. Discussing with the client (i.e. the interview)
  4. Proposing the business deal
  5. Signing the agreement

I will try to use fewer dating analogies in this part to keep things readable for you. Some meme pics are unavoidable, though, haha.

If you are too fast, you just get slapped in the face. If you are too slow, someone else gets the gig. This is the art of proposing.

Step 1: Searching for a suitable project

When you are browsing for projects, be sure you know how to read what the client is asking. There are two targets you have to consider: your quotation and your profile page. Additionally, your homepage, LinkedIn page, and such would need to be consistent as some clients may do a thorough investigation on your numerous online profiles before sending you any message.

For example, if your profile on the freelance platform mentions “web developer,” your homepage lists frontend technologies being your passion, you have no reason for applying for full-stack e-commerce projects as the keywords would give different weighting of what your skills and passion actually are. Consistency, consistency, consistency.

There could be a situation where your dream project is available to you, but the project description includes keywords (perhaps written by a non-technical client) that do not match the keywords in your profile. Theoretically, you could revise all of your profiles for a while to make that perfect proposal for that particular client. “All in” is a viable approach as long as you don’t have other proposals being reviewed at the same time. (I cannot say I have tried this myself, though.)

Let’s assume all of your profiles are more or less in line. Then it makes sense to search for specific projects. It may not help you so much if you see things through your wannabe freelance rock star glasses. You would need to be able to think it from the client’s perspective. How to know which type of client you are looking at? Well, you would need to read the project description carefully, twice.

Let’s go through a couple of examples of how to “read twice.”

Example A

The project is listed as a project for the Intermediate experience level with a fixed price budget of $10.

“VR designing (make a VR simulation):

I’ll give a picture and you should make a 3D modeling and make a VR simulation.

There are several things to change their colors and shapes, so when I see through the VR simulation, I could select the options (change color or change shapes) and watch the results.

I’m not sure about the payment of this project, so I put $10 but I’ll listen your voice, so please suggest the payment of this project.”

So, at first glance, you could say this looks fake because the budget is $10 only. In case you are using some filters in the search, you would never encounter this project post. That’s why plain keyword searches work best since you will be able to see all of the projects available regardless of the client’s skill in using the platform. Some of the very vague project descriptions worked out just fine after getting a hold of the actual person behind the keyboard, so do not overlook projects that look strange at first. The second time of reading, it might look much better.

Let’s play Sherlock Holmes now. In the above case, what clues can we see? What is obvious and what can we deduce?

Look for clues about what the client is like. You don’t need to be Sherlock Holmes to read between the lines, but it sure does help! In the best case, you don’t need to doubt.

Let’s list conclusions and clues leading to them point by point.

  • This is a non-technical client
    • He seems not to know the difference between design and programming. The job looks like being mainly about 3D modeling, actually.
    • No programming language is mentioned.
    • No hardware is mentioned.
    • The expression “see through the VR simulation” is something not used by techies. Techies would also probably not say “several things” but “several objects.”
  • The client might be able to pay good money for the job
    • The price level seems to be unknown (and in fact, it is possible to quote without knowing at least the hardware which may define the development stack and so on).
    • The client does not specify the VR hardware to be developed for.

I’d say there’s a great opportunity in this project! You would be able to:

  • Define the requirements and explain them to the client in a way he understands them.
  • Set the price according to the value of the client (once you hear more).
  • You might be in the position to suggest the hardware that you already have. (Yes, you deduce correctly that I have done a number of projects on hardware sent to me by the client.)

Only one way to find out: go and propose! Preferably, do it right. 🙂

Example B

The project is listed as a job for Expert experience level with a high hourly rate.

“Kinect-based game:

Hi, I’m looking for a professional game developer to create a simple Kinect game (Kinect 1 or 2).

The game is based on this Kinect game: [Link to a YouTube video]

Our version is much simpler, but the concept is similar.

See mockups attached to this link – [Dropbox link]

This is a two-week project that starts as soon as possible, so please only people with high availability needed. The project can be in Unity, Unreal or a different engine.


[Nickname of the client]”

Let’s list conclusions again:

  • This is a semi-technical client
    • He seems to know about the keywords (Unity/Unreal) but has no clear idea about the programming side.
    • There’s a clear idea about the scope, cost, and a number of people, so project management seems to be his strong point.
  • The client is probably a small design house or an advertisement agency
    • Mockups are provided, i.e. just the programming needs to be done on any stack preferred by the developer (as most design assets can be imported to any game development tool).
    • Deadline is coming soon (no offense to any designers, but that’s how all of my designer clients seem to be, so far).
  • The application will probably be an attraction in an event
    • The video links show the reference app being used in an event.
  • The client might be able to pay good money for the job
    • Saving the day is good business for everyone! Failed projects kill small businesses, so failure is not an option here for this client.
    • You can choose the stack you can develop fastest.
    • The project looks like not having much time for design iterations and there are already mockups from the client, so the chance of stretching the project’s end date is very small.

I’d say again that there’s a great opportunity in this project! You would be able to:

  • Work with good, capable designers in a setup where everyone is doing what they do best.
  • Select much of the stacks and tools as you prefer and are fast to develop with.
  • Charge your expert rate “to save the day” for the client, who is apparently in need of fast and good freelancers. (Slow and good would not do, and fast but not good are never needed.)

Only one way to find out: go and propose right! Again. 🙂

Example C

The project is listed as a job for Intermediate experience level with a mid-range hourly rate.

“Kinect depth camera recorder:

Looking for an individual who has experience developing with the Kinect 2.0 SDK. The individual must be knowledgeable with C# and/or C++.  We are looking for a programmer who can help us develop a recorder for the Kinect depth stream with Visual Studio. Will be working alongside one of our employees to get this completed.”

My conclusions this time are:

  • This is clearly a technical client
    • Uses technical keywords such as C#, C++, and names the SDK version specifically as 2.0.
  • The project is not the classic example of a software firm outsourcing to other software developers, but a bit more collaborative one
    • The experience level is not Expert level although the job is far from typical in the marketplace.
    • There is a clear expectation of working in collaboration with one of the software developers on client’s side who will probably do integration work. The freelancer is expected to know Kinect better than the company’s own software engineers.
  • You would never see the entire product once your part is completed
    • The project is split so that there is no need for additional non-disclosure agreements because the interface of the software to be developed will be specified very accurately by the client’s employee. That’s mentioned upfront (which is good).
  • You may not get a portfolio item for completing the job (this you would need to check first, in case you need it)
    • If the project leads to a new product, the client might want to take all credit for creating it.

There’s nothing wrong with this project! It’s well specified and can go really well as long as you can:

  • Accommodate the collaboration mode (time zone, language, communication style, and frequency, etc.)
  • You can give a rough estimate of the job, even it is mentioned to be a job with hourly rate compensation. A technical project manager is sure to ask for this.
  • If the start of the project goes well, there could be more to be done than what is mentioned, so the project could grow from the initial scope.

Example D

The project is listed as a $2,000 fixed price gig with minimal description.

“Kinect solution:

We want to develop a solution for retail.”

That’s it. The obvious conclusions can be drawn in a few seconds, of course:

  • There is little more here for you than an endless discussion on what hardware and what overall solution you would need to deliver.
  • After long discussions, you would most likely need to help the client specify the hardware after which the communication might stop. Possibly a Shopper who only wants to get partial or complete specifications of a good solution for free or a Flash who has no time to do anything properly.
  • The price, even if tentative, is probably too low to be considered seriously (because of the above reason).

You will be better off skipping these kinds of project descriptions. Mere title-level descriptions correspond with the client’s ability and/or time for writing up the requirements. I’ve sent tentative quotations to some projects of this type and none of them worked out. 0%.

There are a number of these kinds of “bad apples” listed in the online marketplaces, in fact. You cannot quote properly and you can hope to be called for an interview for which you cannot prepare for, so you can only “swing it.” All you really end up doing is spending time with the client to plan the project for free. After some early trials and failures, I started to skip all these kinds of opportunities.

How to pick?

Now, let’s say you have a couple of good projects shortlisted for sending a quotation. You can choose to quote for all of them quickly or save your time and do one quotation really well. I have a couple of principles that help to make the decision:

  • Favor non-technical clients if you are up for it (see my discussion on the sweet spot).
  • Pick the most interesting one (as a happy freelancer is always the most productive freelancer).
  • Pick the most realistic-looking one (i.e. enough info, reasonable budget) which should produce the least amount of hassle.
  • Work for the most interesting person (if any info about the client is available) as the connection could turn out to be very useful later on.

In any case, no matter how many quotations you are planning to send, don’t copy-paste anything! Every project is different, so you bet every proposal needs to be different. You are about to propose a business deal to another person so that the other person needs to feel that you wish to work in particular with him or her. It is much better to take the time to craft the proposal properly than send some quick stuff over to someone else, especially when your aim is to get the person to pay you real money. Only the properly done proposals lead to proper projects … and you don’t want to get the other ones anyway.

Step 2: Crafting the proposal/quotation

Now the juicy part. How to write a short description of what you can do for the client in a way that attracts the client enough to step into a closer discussion with you? It’s not so easy and takes some thinking every time. Think carefully, write skillfully.

Your goal in phase

Your goal in this phase is to attract the client in the right way. Not the wrong way.

Let’s go with the above examples. Please note these are all real-world cases from my logs, i.e. proven to work!

Example A

The project is listed as a project for the Intermediate experience level with a fixed price budget of $10.

“VR designing (make a VR simulation):

I’ll give a picture and you should make a 3D modeling and make a VR simulation.

There are several things to change their colors and shapes, so when I see through the VR simulation, I could select the options (change color or change shapes) and watch the results.

I’m not sure about the payment of this project, so I put $10 but I’ll listen your voice, so please suggest the payment of this project.”

My proposal looks like this:

“Hello! I’m Dr. Mike, an expert in creating VR simulations of all kinds, usually for training simulators. I could do this very quickly. Mainly I’d need to know which VR device you’re planning to use. I can also offer some help deciding the device if needed.

Feel free to take a look at my portfolio here and ask for more information. I can send my portfolio PDF as well.

I offer very fast turn arounds on these kinds of small projects and I execute them on CTO level. You don’t need to worry about anything even slightly technical.

The price I listed is tentative and matching a couple of weeks work. It is subject to changes as soon as I hear more about your exact aim. If possible, please share the image you want to be turned into a VR experience.

Looking forward to hearing from you.

Best regards,


The tentative price I set is $5,000. Why? Mainly because I just don’t do any smaller projects to protect my profile. All projects the past couple of years have been $10-20K whereas most go in the $1-2K range. Past big projects attract new big projects, the rest is left for those freelancers who enjoy their proposal battles against their peers with a similar skill set and background.

Why did I write as I did? A couple of reasons:

  • I don’t see the person’s name, so I cannot include that in my “hello.”
  • The word “simulation” indicates something possibly relating to training simulation, so I’m simply taking a blind guess here. I cannot know, but it does not matter. If I guessed right, and the project is really about training simulations, there is a good basis for hiring me as I have an extensive background in that specific types of applications as shown in the latest portfolio item. If it is not, I don’t probably miss anything really good, actually. No way to lose!
  • I offer to send an additional portfolio in case there is something not mentioned that could be relevant here. Normally, I do not mention it, but the client may get it upon request.
  • I try to make my proposal look like a safe option by giving clear indications about:
    • Taking care of everything technical (as this is clearly a non-technical client) including the choice of hardware, which should make my proposal look like a safe choice.
    • Tentative schedule (even if I’m not sure about the scope).
    • Tentative pricing. This is important to mention so they do not jump to conclusions.
  • I ask questions about the hardware and if the image could be shared, both done as an indirect questions in the sentence. Now the barrier for sending the next message should be minimal. The client can simply answer those questions and then we are already in the next step: Discussion.

There we go. If the client accepts the proposal at least to the extent of discussing further, the project is mine and the price is good, for sure. For my part, if the tentative price is the problem, I would not want this client anyway. Everybody wins! That’s how a good deal should be in any case. 🙂

Although the project is vague, writing and sending the proposal didn’t take many minutes. I don’t even know if I have the right hardware, but in case I get to suggest, of course, I would recommend one of those that I already have. Cost-efficiency with speed.

Example B

The project is listed as a job for Expert experience level with a high hourly rate.

“Kinect-based game:

Hi, I’m looking for a professional game developer to create a simple Kinect game (Kinect 1 or 2).

The game is based on this Kinect game: [Link to a YouTube video]

Our version is much simpler, but the concept is similar.

See mockups attached to this link – [Dropbox link]

This is a two-week project that starts as soon as possible, so please only people with high availability needed. The project can be in Unity, Unreal or a different engine.


[Nickname of the client]”

My proposal with the full hourly rate (which was about double to most others at that time):

“Hello [nickname of the client],

I’ve developed a bit more complex games to be used in a shopping mall (please see my portfolio). I’ve made two similar installations, both with 0 bugs reported.

This is doable in 2 weeks, especially if we only use the depth image from Kinect to visualize those 2 players (no 3D avatar animations). I’d book a day or two for making a decent scoring algorithm using just the depth image matched against the target hole/silhouette. I’d implement this using Kinect 2 for Windows (Windows 8, 8.1 or 10) and Unity3D 5.4.

How many levels would you need (or how many minutes of gameplay)? Would you provide graphics or shall I make something up? Where do you plan to deploy this?

For Kinect installations in public places, there are some concerns that I recently wrote an article about… can share with you later, if interested in my empirical tips & tricks.

Timing happens to be perfect, I can start on 16th and finish by 28th.

Best regards,


This was something I know before even sending the proposal that I nailed it. What the client is asking is so similar to what I just finished, so even the timing was in my favor! Unfortunately, by the rules of the platform, I cannot include direct links to my blog post which I just wrote about the previous project.

The only thing could be an issue with the price, in case the client has not been able to charge their customer very much. That’s the only unknown here. So, what I did this time is:

  • I jump straight to the topic and skip everything else except the most relevant thing. I guessed the purpose of the application (an event of some sort) so I can directly mention that being similar to what I just did in a previous project.
  • I claim I can provide high-quality work by pointing the client to my portfolio items of projects that were finished flawlessly.
  • I suggest the best hardware for the purpose and its practical impact so that at least one problem is already solved before we enter the discussion phase.
  • I mention the stack that I’d use, which matches the one the client had already imagined, just to confirm we’re are “technically compatible.”
  • I ask three questions about the specifics, which shows that I’m interested and curious and that I can find a collaborative mode easily (e.g. who should be in charge of making the graphics).
  • I indicate that I write a technical blog on this very topic. What the client is asking is what I just did for someone similar to this client and have experience of making the whole thing work, not just the technical bits. So, obviously, in the client’s eyes, I should be the guy who also knows the client’s domain and not just the technology.
  • I promise the delivery time to be within safe limits so the client does not need to worry.

All in all, my proposal is a bit longer than the client’s but still exactly to the point. Nothing irrelevant is included. Of all the freelancers available to the client, working with me should look like the safest option. Everything necessary is covered: quality, deadline, and collaboration mode.

Example C

The project is listed as a job for the Intermediate experience level with a mid-range hourly rate.

“Kinect depth camera recorder:

Looking for an individual who has experience developing with the Kinect 2.0 SDK. The individual must be knowledgeable with C# and/or C++.  We are looking for a programmer who can help us develop a recorder for the Kinect depth stream with Visual Studio. Will be working alongside one of our employees to get this completed.”

My short proposal with full hourly rate price is matching with the length of the project description:


My name is Mike, I’ve worked for the last 4 years exclusively on Kinect and Kinect 2.0. I’ve made color/depth/skeleton stream recorders for a couple of clients as well as a recording analysis tool of my own. Also, I’ve developed a very compact file format and encoder/decoder library for Kinect data.

We could have a quick Skype call and discuss your requirements for development or just consulting to guide your employee through the development steps.

I hereby attach a short portfolio that includes a slide on my analysis tool among other Kinect projects.”

What I did here is:

  • I skip “Dr.” here that I usually include. I just thought being less formal in this case might fit better the short story I give him.
  • Unlike in other proposals, I mention the exclusive focus on this type of application and the number of years doing it. Usually, the number of years does not impress very much.
  • Keep it short and to the point. As this is a technical client, I want to save his time from reading a lot of introductions or list any other things than exactly those technical bits that are relevant (image streams and encoders).
  • Invite the client directly here to a Skype call (which I don’t do always at this stage) as I assume to talk with the employee directly which is not the same person as the one posting this job. So, let’s open the communication channel ASAP.
  • I give two options for the collaboration model to appear flexible and goal-oriented. Whatever works, works, let’s do it.
  • I add a portfolio PDF so that the client does not need to read more when browsing the proposals.

Additional portfolio documents may come in handy sometimes. Most of the time you don’t need them, especially if working through platforms that offer portfolio pages linked to your freelancer profile.

I have a master version that includes all notable freelance projects I have done from which I can cut a specific shorter version for any client to keep things concise and to avoid overwhelming the client with too much information.

In this case the portfolio PDF I sent included:

  • A short introduction of my own background
  • Pages for each Kinect project, sorted by relevance
    • Five pages, one project per page.
    • Every project that had any kind of recording function is highlighted so that the client cannot miss seeing my previous experience on the exact challenge is his project.
    • One of the projects is obviously the encoder/decoder thing that I made years earlier.
    • The first project is from four years ago, thus backing up my claim of years of experience.

Example D

The project is listed as a $2,000 fixed-price gig with minimal description.

“Kinect solution:

We want to develop a solution for retail.”

As deduced earlier, this minimalism is evident in the case of less serious clients, but as this was one of the discussions long ago, I can demonstrate the main steps of what you expect.

I didn’t spend two minutes writing my proposal, in which I mention the most similar project I’ve done and the minimum price of a project that I do. It led to a long discussion over the next almost three weeks, where:

  • We exchanged images to understand the exact use case.
  • We stayed purely on text chat-basis for all communication.
  • I got very late replies starting with “Hello, sorry for the late reply, just noticed this, …” and so on, which is a direct indication of the project not being very important even to the client.
  • I got the feeling there was already part of the work completed once some of the messages and links to similar works that I sent had already some value to the client.
  • After learning about the exact scope (finally), I landed the actual price being around $10K which is when the client could only say “I have to discuss with my team, but I think that is a little over budget.”

The end. That’s how these things go. Nobody good would need to engage in a project like this. Just skip.

Step 3: Discussing with the client

Now, you have got the client’s attention and there is a good positive expectation: a very rough plan and a tentative order of magnitude price. What’s left is landing the project for real, with a complete plan and collaboration mode figure out with a price tag on it.

What’s left is these remaining steps:

  • Discussing with the client (i.e. the interview)
  • Proposing the business deal
  • Signing the agreement

Unfortunately, these parts are the art side of freelancing. There is little point in giving examples of exact discussions as every single discussion is very different. All I can do here is list some principles that you could apply to your discussions. Somehow, you need to produce the right feeling on the client’s side of the table so that things start rolling. Looking too eager won’t do the job. Being unresponsive or distant will not work either. You have to be matching with the client’s style on multiple levels to succeed.

How To win Upwork Job

Match with the client’s style to create a good connection, whatever the style is. People are wired to like similarities and dislike differences on a subconscious level, which is something very useful to be kept in mind.

Tips for discussion

After getting a reply from the client on your proposal, this step is the key to everything. This is when you have to:

  • Give a good impression, which should cover at least:
    • Being curious and enthusiastic about the client’s project and overall goal.
    • Demonstration of your competence done quickly, e.g. by talking about the closest work you have done to the project in question and what came of it.
  • Create a collaborative, positive atmosphere.
  • Understand the exact goal of the client.
  • Find a way to get your client to that goal and communicate it clearly in a step-wise manner.
  • Agree on who does what when the project starts.
  • Give a clear indication of the price of the project. This must never be a surprise in the next phases!

If this step is done right, few things can go wrong in the last steps. It is good to be conscious that there is a huge variety of approaches the client might prefer. Some clients:

  • may ask you a lot of questions as in a job interview especially if they have a lot of experience in hiring. Nothing wrong with this approach, actually, it’s just a preference and routine thing.
  • might ask some simple coding tests to be done (which I’ve never been asked to do, except in the case of that scam I wrote about earlier).
  • may want to know what kind of a successful person you are and ask much about your life rather than keeping things strictly about business. Nothing wrong with this either.
  • want to keep things in text-only mode all the way long because of their own preference. But I have to mention all the good clients I have found through freelance platforms have taken the step to do either voice or video calls. Creating a good business relationship is important and that’s done by the individuals involved.

How To win Upwork Job

Chitchat is fine if that’s the client’s preference. Some prefer to stick with the topic. Be sure to swing both ways! 😉

The language barrier

One important thing must be understood: always write and speak in the client’s language. For example: If I’m prospected to work as an expert in a technically capable team, I can use the software slang and jargon like repo, stack, names of all the code design patterns, and all the abbreviations we developers use. I may ask them to spec the work properly, as they know exactly what it means in the discussion. Part of the vocabulary works with semi-technical clients, such as design houses.

However, if I’m prospected to do CTO-as-a-Service for someone non-technical, asking about their repos, stacks, and specs only wastes the time of everyone involved. It would be part of my job to manage all that once the product or service-level business-related requirements have been defined.

I remember seeing a funny discussion where the client mentioned just vaguely “I’m looking for someone with solid experience in web development” having the intention of getting an experienced freelancer for the job and excluding all entry-level developers. The client got an extensive reply from the freelancer explaining what he knows about Solid.

It is understandably difficult to read the need for “solid experience” as “experience in Solid,” it happens. Pure text-only discussions can be tough, sometimes. Voice or video is preferred. Sometimes, text chats get so complicated that the client just gives up in frustration. You have to be able to read the type of the client between the lines to get the tone right in order to communicate on the same level, then you can get somewhere.

Do your research

Many may not realize, but once you get to know your prospective client a little bit, you may get to know the name of the person as well as the name of the business. Be sure to go online and absorb all the public information you can get! Knowing what business the client is conducting increases your chances of proposing a deal that is attractive.

You may demonstrate your understanding and high level of involvement by discussing how the project result will benefit the client’s customers. It’s is actually a good thing to say “Hey I had a look at your website and thought that …”

I would argue that doing background research is one of the most important things in getting into the head of the client. What the company does, who they sell to, who their suppliers are … all this will help you to get the big picture and reasons why they want to hire a freelancer for the job. All this knowledge will play to your advantage.

Often it is the discussion phase where you learn who the client is, but sometimes you get to know that from the beginning which helps a lot. Some project descriptions include the company’s name. In that case, do your research as early as you can to guarantee that your own understanding of the client’s ultimate aim is complete. Also, background research done well reduces the time spent on discussion, so you don’t need to take as a heavy “additional step” in the process of getting a freelance gig.

Sometimes it happens that no matter the length of the discussion, you simply won’t get much information on the client. This is always a pity and it definitely hinders you from getting a full understanding of what you need to do for the client. Not being able to do background research and staying in text chat only-mode is a combination that may lead to misunderstandings and false expectations on both sides. Avoid this at all costs.

Project type and milestones

Another aspect of the discussion phase is deciding the project type. Most platforms offer fixed-price or hourly-paid projects, both of which have their good purposes. Getting mixed up on this level will only result in a miserable outcome for the freelancer.

Fixed-price projects end only when the client is completely happy with the end results, not a second earlier. Additionally, you may have to offer some support after the payment, e.g. for bug fixes in case you make one or two. This is important to make the client feel safe about working with you.

Once the deal is there, you cannot change it so much, unless there is a clear increase in the scope, e.g. an entirely new module to be built. How to make money out of fixed-price projects as a freelance developer is related to your mastery of making estimations and managing the client’s expectations. The first part is only about your ability to manage your own work. It’s an operational aspect. The second part is all about communication and customer relationship.

I have a simple trick to nail both at the same time. During the discussion phase, I take the effort of splitting the work items that I talk about with the client into milestones (fixed price or hourly estimates) after which I list the limitations:  “within the scope” and “outside the scope.”

For any bigger project, this is very practical, as it works as a warranty for not overshooting the client’s budget (she needs to play more) or overshooting your own schedule (you need to work more and possibly miss doing other projects). More about this in the last part of this article series.

Please note that in the case of hourly-paid projects, it is still essential to give estimates and list the factors that may cause changes to it. At least a rough range must be given. Nobody wants to start a project that has no end date or maximum budget. There’s always a maximum budget.

The little things

After all of the above, perhaps the last tips for the discussion phase are not that many anymore:

  • Keep it short and to the point, unless the client is more interested in knowing about you. Chitchat is fine if that is the client’s way. There is no need to push into that direction yourself to save time for both.
  • Maintain a positive atmosphere from the start to the end. In the case of tone changes, things might end before Steps 4 and 5.
  • Don’t go too deep into the negotiation mode. If the price is the biggest problem, there rarely is a good match anyway. Dropping the price, especially if done more than once, makes you look less professional and a little bit desperate, perhaps. Let it go and focus on the next client.

You can put a little “cherry on top” with simple things like starting with the greeting using the client’s language (if it is known) even if the rest goes in English. A nice little added touch that never hurts as it shows some attention to the person in question.

Moreover, you should take note of all the typical mistakes explained in Part 1. That is what you can do. The other side of the coin is the client, of course. Some of them simply lack the skills to get the message across or define their own plan or even the end goals, which makes things difficult for freelancers. Anyway, looking at the strange examples might help to identify situations where you should just end the discussion before it expands too much and takes your work time away from you.

“But hey, where’s the value proposition?”

That’s the thing. After the early stages of trying to write very comprehensive explanations in the proposal that some others still seem to do, I found that brief to-the-point proposals work best. Only in rare cases, long proposals lead to getting the gig. The key factor here is to match the client’s style.

Once I got a gig that was posted with about a 400-word description (more than one page) that included everything from the requirements of the long-term project to the company’s vision, values, and background. This extensive description was supplemented with four typical screening questions.

My proposal text was also about 400 words, but answers to the screening texts took almost a thousand! The proposal went in and I got a reply with compliments and eventually a formal offer. Usually, you don’t need to go to these lengths to get to the discussion phase. You can see the need from the length of the project description. Match it.

In general, the value proposition is something pretty easy to do, once it is clear in your own head. Most clients appreciate conciseness, especially the good ones who are typically busy running their businesses. Then, how to describe the value you bring in the proposal?

I try to get the main point across in the first thing that the client sees, i.e. the quotation with text and tentative price. There is no point in trying to fit everything you could offer to the client in a short quotation. Instead, I break it down into small parts that I feed to the client during the discussion. It should make sense to anybody, actually. Before you fully understand the client’s problem, can you really even propose a complete solution? No, but the main point needs to be crystal clear.

I only put the most important thing that I see (or sometimes guess) the client would value in the first quotation text. I may add the second most important thing too in the way you saw in the above examples. It is important to know which string to pull in which order:

  • Example A: If a non-technical client is asking for something very complicated to him/her, I have to mention the ability to take care of everything technical.
  • Example B: If the client’s deadline looks like the most important thing, I have to write something to be able to meet it without having any risk on my side of the work.
  • Example C: If the main worry of the client seems like finding particular technical expertise, my proposal will need to demonstrate my expertise above any other thing.

You get the picture. Address the biggest need of the client first, and build the rest of the proposal around it.

Additionally, of course, there is a tentative price tag that I have to include. My clients being small or starting businesses the usual discussion is not the exact number of thousands that need to be paid. For individuals, an additional hundred bucks could be a problem. I cannot quote ridiculous prices for something trivial, nor can I go super-cheap on something complicated.

A couple of principles that help in making the client understand what I typically offer are:

  • Complete safety; A guarantee of getting to the goal, which is backed with 5-star reviews and recommendations from previous clients.
  • Fast delivery; Because of the speed even in the case of hourly paid projects the final price to the client will not be too high.
  • Highest possible quality; Nobody needs faulty software, so from the first delivery on, there are no bugs … only unimplemented features if we go by iterative milestones. High quality in complex software is not easy to achieve, especially if delivered fast, so this also relates to the expertise level.

Now if you look at the examples A-C, you can see the value proposed always hits some of the above. Simply, I pick the closest one based on what the client seems to be asking for.

Interestingly, one thing that I don’t do (that I see many others do) is offering a support period for bug fixes, for instance. Of course, I can give support after the final payment, but I never mention that upfront! Why? Because it would indicate that my solutions are flawed and there will be a lot of bugs. The expectation I have to create is that there won’t be any bugs. That’s the real quality factor. 😉

Also, I don’t want to sidetrack the discussion to bugs that we should expect and prepare for. What I normally do is that I reserve some hours for “fine-tuning” the design, behavior, etc. of the software before the final payment should be made. Probably better for the client this way. 😉

Actually, this kind of quite simplistic thinking applied to your case can take you pretty far already. Perhaps, after finishing reading this, you could take a look back at those proposals and see which string I pulled for each of the different clients in examples A, B, and C.

The final steps: Proposing the business deal and getting signatures on it

It is rare that after a successful discussion and planning with the client you would end up in a serious disagreement at the last stages. Only the failures listed earlier could ruin the project.

Most platforms have a function for the client’s side to send an offer to seal the deal. Usually, this is exactly matching what has been discussed. If something looks strange or out of sync with the plan agreed in the previous step, this is the last opportunity to pull off. Once the offer is accepted by you, there’s no going back anymore without consequences. Proceed with care.

Perhaps the only thing here is this: do not make the client delay more than 24h. The opportunity might pass quickly.

How To win Upwork Job

If still in doubt, it is better to pull off. Unfortunately, that will be the last time you see that client, as the discussion effort was wasted.


There you have it. That’s how I propose! 🙂 There are a lot of unknowns, there are ways to guess certain things, there are common steps. Some things are pretty obvious, some require Sherlock. Yet, sending quotations and proposals is more on the art side of things rather than being pure science. That’s how doing business with people is anyway. Freelancing is not any different.

How To win Upwork Job

A proposal done right can make your client’s day so bright!

The last part, Part 3, will take you through my proposal template for larger projects that require a little bit more formality.