In this article, I'm going to show you how to create a proposal for a web development project from scratch. We'll be going through a realistic example and write the entire proposal together.
Here's what we're going to be working with:
Our client gave us mobile and desktop designs, and he wants these designs to be turned into a modern website. The client also wants to edit its content using a CMS.
The design is a nice, simple one-page design, so our proposal won't be too long.
View full design. Design: O-Book Landing Page Template on Unbounce.
The way we're going to approach this is by making a fixed price proposal.
Instead of, say, an hourly estimate estimate, we're going to break down the work into pages, components, and features.
Then we're going to estimate the amount of effort or value for each component or feature, and the sum of those estimations will become the price that we offer to our client.
It's important that we really go into detail when we break down the work into components, pages, and features.
This way, we can accurately estimate the amount of work, and we can demonstrate to the client that we understand the work that needs to be done.
There's another important benefit to having a deteailed propsal:
If the client wants to negotiate, then we can offer to simplify certain aspects of the website that required a lot of work, but the client might not need.
Using Cakedesk, give your proposal a title and some text. A suitable title might just be "Author Website Landing Page".
For the proposal text, I always like to point out a few things:
To break the proposal down, it's a good idea to first create an outline of deliverables.
In this case, we have only two things, some general features, including things like project setup and SEO, and the actual website itself, which here consists of only the landing page.
Tip: When writing a proposal, you can use it as an opportunity to sell your services by showing the client that you understand what needs to be done.
Let's start by summarizing back to the client the requirements of the project. We don't need to think about prices yet, we'll do that in the next step.
For now, I think we can include the following items on the proposal which give a nice frame to the scope of the project:
Make sure to use an app like Cakedesk for writing the proposal, so you can add just enough detail and structure:
We won't charge for every single item of the outline above. Some items are just included so that the client knows that we know what we're doing and to set the scope. For example, we can build a performant website by default, since we're building it from scratch.
There is no rule on this however, so definitely charge for things that you need to spend extra time on or have spent time figuring out in the past.
We charge for basic features the same way we also charge for other things:
We'll estimate a worst-case number of hours and multiply that by some amount. In this case we'll charge €100 per hour.
Tip: There is a great opportunity in increasing your margins when going from project to project. If you've spent 10h figuring out a good project setup in the past, you can charge for those 10h on your next project even though the actual number of hours you need to spend this time are less.
I think for the basic setup it might take us about 2.5 hours to set up the website, 2.5 hours to set up the CMS, and maybe another hour to set up the Vercel project and a CI pipeline for Sanity deployments.
That's 6 hours in total, so we'll charge €600.
The static site generation is a little annoying to set up and debug, so we'll estimate 3 hours for that and charge €300.
Tip: It's always a good idea to charge for setup costs because otherwise the client might reduce the project down to very little, but you'd still be stuck with having to do all the setup work.
Now let's get to the actual landing page.
When writing this part of the proposal, I usually go page-by-page and section-by-section, taking a look at both desktop and mobile and also thinking about what implications there are for the CMS.
Tip: It's also a good idea here to write down all requirements first before adding prices to them. It's much easier to stay in the flow this way.
Let's go, starting with the website header:
Deliverables:
Pricing thoughts: I think we can implement the front end in 1 hour and maybe spend one more hour on the CMS integration. So we'll charge €200 for the header.
Deliverables:
Pricing thoughts: For the brands, we'll need to create a little grid. And every additional field also means there's a little more work on the CMS. So we'll charge €300 for the Hero section.
Watch out: For the newsletter we actually have to go into a little more detail because it's an interactive component and requires us to integrate with some kind of a back end provider. We'll create an extra section for it after the landing page.
Deliverables:
Pricing thoughts: Pretty straight-forward, we'll charge €100.
Deliverables:
Pricing thoughts: Pretty straight-forward, we'll charge €100.
Deliverables:
Pricing thoughts: Pretty straight-forward, we'll charge €100.
Deliverables:
Pricing thoughts: Pretty straight-forward, we'll charge €100.
Deliverables:
Pricing thoughts:
So we'll charge €300 for this.
Now that we've estimated every single part of the website project, we can export our PDF and send the proposal off to our client.
With Cakedesk, you can export a professional looking proposal as a PDF format with just 2 clicks.
With so much attention to detail, I'm sure our client will come to the conclusion that we've made a fair offer and we're up to the task.