Skip to content

Project Brief Template for Developers: How to Get Useful Quotes

A project brief template for developers: what to cover on one or two pages, a filled-in example, and how to get quotes you can compare side by side.

By

Freelance full-stack developer

Published
Reading time
11 min
In this post9

A good project brief for developers fits on one or two pages and tells them what they need to estimate: the problem, who it's for, what version one has to do, what already exists, and your budget and deadline. Below is a project brief template for developers you can copy, plus a filled-in example. It's deliberately not a requirements specification, because at this stage you need comparable quotes, not a contract.

I'm a freelance developer based in Denmark, and I estimate projects from briefs like this, so the template is built around what I need to give a useful number. I'll also tell you when a short brief isn't enough.

The short answer: what your brief needs to do

The project brief in one minute
QuestionShort answer
How long?One or two pages. Anything longer usually describes solutions rather than needs.
Who writes it?You, in plain language. No technical knowledge needed.
What goes in?Background, problem and goal, users, version one, what already exists, constraints, budget and timeline, decision-making, and what you want back.
What stays out?Tech choices you can't justify, pixel-level design and every feature you might want in five years.
Who gets it?Two to four freelancers or agencies, all receiving the identical version.
What comes back?A price range, the assumptions behind it, what's excluded and a proposed first step.

My rule of thumb: a developer who reads your brief should be able to explain the project back to you in their own words, with no more than a handful of questions. If they can, the brief is good enough for a range.

The brief is the first step in my guide to hiring a developer, which covers the whole process from need to contract. For a small job, like a single integration or a batch of bug fixes, half a page is usually enough. My notes on hiring a developer for a small project cover that case.

Brief, requirements spec or paid discovery?

Three documents often get mixed up, and using the wrong one costs money.

Three documents, three jobs
Project briefRequirements specPaid discovery
SizeOne or two pagesMany pages, often with every requirement numberedA short engagement with workshops and a written outcome
Who writes itYouYou, a consultant or a developerYou and the developer together
What you getA price range and a sense of whether the developer understands the jobA basis for comparing fixed bids on exactly the same scopeA defined first version, the key technical decisions and a fixed price or a tight estimate
What it costsA few hours of your timeMany hours, in-house or from a consultantA paid engagement
Best forFirst contact with developersPublic tenders and large multi-vendor projectsLarger builds where you want a fixed price

For most projects at startups and small or mid-sized companies, the brief is where to start. A requirements specification (a detailed document listing every requirement) makes sense for public procurement, which in the EU follows its own formal rules, or when several vendors must bid on identical scope. If you need one, I've written a separate guide with a software requirements specification template.

Starting with a full spec means making lots of decisions before talking to anyone who'll build the thing, and some of the most expensive requirements could be met far more simply with a developer involved from day one.

Here's how I work: a short brief gets you a rough range and a conversation about whether I'm the right fit. For larger builds, the next step is a paid discovery phase at a fixed price, where you and I define version one together. Only then do you get a fixed price for the build itself. So you use the brief to decide who to keep talking to. The final price comes later.

The template: nine sections to copy

Paste this into a document and fill it in, in bullet points if you like. If you don't know an answer yet, say so and add it to the open questions. An honest "unknown" is more useful to a developer than a guess.

PROJECT BRIEF: [working title]
Contact: [name, role, email]    Date: [date]

1. Background
   Who are you, what do you do, and why does this project matter now?

2. Problem and goal
   What isn't working today?
   What will be different when this succeeds, and how will you measure it?

3. Users
   Who will use it, how many, and in which roles?

4. Version one
   Must have: 5-10 lines in the form "A [user] can ..."
   Can wait: what you'd like later

5. What already exists
   Systems, data, integrations, existing code, design, domain, hosting

6. Constraints
   Personal data and GDPR, data location, languages, devices,
   accessibility, industry rules

7. Budget and timeline
   Budget range excl. VAT (EUR). Deadline, and why it's set then.

8. Decisions and collaboration
   Who decides? How much time do they have? Which time zone?
   Who runs and maintains it after launch?

9. What I'd like back
   Price range, assumptions, exclusions, proposed first step. Reply-by date.

Open questions: [what you don't know yet]

What I look for when I estimate

When I read a brief, I'm looking for the things that move the price most. It's rarely the number of screens. It's usually these:

  • how many user roles there are, and who can see and change what
  • integrations, especially with systems that lack a well-documented API or a sandbox account
  • data that has to be migrated from an old system and cleaned up along the way
  • payments, subscriptions and invoicing, including VAT across countries
  • how much admins should be able to change without calling a developer
  • accessibility, language and security requirements
  • deadlines that can't move

If any of these are missing, my range gets wider, because I have to price both possibilities. A wide range is an honest reflection of how much is still open. Be more suspicious of a precise figure for a project described in five lines.

My approach is to ask the questions that matter most for price before I give a range. If a developer sends you a quote without a single question, ask yourself how carefully they read your brief.

How to fill in each section

Write for a developer who doesn't know your industry. What's obvious to you rarely is to an outsider.

1. Background

A few lines on the company: what you do, how big you are and who your customers are. Then say why now. "Our largest customer requires it from next year" and "our current system is no longer supported" lead to different solutions, and the developer needs the reason to suggest the right one.

2. Problem and goal

Describe what's broken today with a concrete workflow. "Orders arrive by email and get retyped into our accounting software, roughly 40 a week" says far more than "we need to digitize". Then write how you'll know it worked: fewer manual steps, faster turnaround, customers finding their own invoices. A clear goal also makes it easier to say no to features that don't serve it.

3. Users

Say who'll use it and roughly how many. The number of roles usually matters more for price than the number of users. A system where customers, staff and admins each see something different takes more work than one where everyone sees the same thing.

4. Version one: must have and can wait

This is the section that matters most. Write 5 to 10 lines in the form "A customer can see their orders and download invoices". That format forces you to describe what users need to do, not what the screen should look like.

Then list what can wait. That list shows the developer where the product is heading and makes it obvious what's outside the quote. If you're unsure whether something belongs in version one, ask whether it could be handled manually for a while. If yes, it can usually wait.

5. What already exists

List the systems this needs to work with: accounting, CRM, e-commerce platform, payment provider. Note whether they have an API (a documented way for systems to exchange data), or that you don't know. Add any data that needs migrating, existing code, design files or a style guide, and who controls the domain and hosting. Integrations and data migration are typically where an estimate is least certain, so put them on the table early.

6. Constraints

List the requirements that aren't negotiable. If the system handles personal data about people in the EU, GDPR applies, and you may want the data stored in the EU. It might need several languages, specific accessibility standards or sector rules, for example in finance or healthcare. Requirements that surface halfway through a project cost more to build in than the ones known from the start.

7. Budget and timeline

It's tempting to hold back your budget for fear the developer will simply spend all of it. In practice, that gets you worse quotes. Without a budget, every developer guesses your ambition level, and you end up with one quote for a simple build and another for a much bigger one.

Give a range excluding VAT, say €15,000-25,000, plus your deadline and the reason for it. A trade fair in March is a hard deadline. "Ideally before summer" is a preference, and the developer should know which one you have. If your budget is far from what the job needs, it's better to hear that now than after three calls. Then you can cut scope rather than quality, which I cover in my guide on negotiating with a developer.

8. Decisions and collaboration

Name the person who makes decisions and how many hours a week they can give the project. A developer waiting for answers costs money, and a decision-maker with two hours a month is a real schedule risk. If you're hiring across borders, add your time zone and when you're reachable. Finally, say who'll handle hosting, updates and further development after launch, because that affects both the tech choices and who you should hire.

9. What you want back

Finish by stating what you'd like in return and by when. When everyone answers the same points, comparing quotes gets far easier. Ask for:

  • a price range for version one and what pushes it toward the top
  • the assumptions the price rests on
  • what's excluded, such as hosting, maintenance, design or data migration
  • a proposed first step, for example paid discovery or a smaller first phase
  • who will actually do the work

Allow one to two weeks for replies, since a developer who reads carefully usually has other projects running too.

A filled-in example

A shortened example. The company and figures are invented, but the structure follows the template.

Fictional example: reorder portal for a wholesale distributor
SectionWhat the brief says
BackgroundWholesale distributor of cleaning supplies with 40 staff, selling to around 300 business customers in the Netherlands and Belgium. Two large customers have asked for online reordering.
Problem and goalCustomers reorder by email and phone, and staff retype every order into our ERP. Goal: half of all reorders placed online within 12 months.
UsersBuyers at customer companies (1-4 each), 4 sales staff and 1 admin. Customers order from a desktop at work.
Version one, must haveA buyer can log in and see their customer-specific prices. A buyer can reorder from a previous order. A buyer can download invoices. Sales staff can see and approve new orders.
Can waitMobile app, card payments (customers pay on invoice) and automatic restock reminders.
What existsAccounting in Xero. Orders and stock in an older ERP, and we don't know whether it has an API. Logo and brand colors, no design.
ConstraintsPersonal data about customer contacts, so GDPR applies. Dutch and English. Desktop first, mobile is a nice-to-have.
Budget and timeline€20,000-35,000 excl. VAT for version one. Launch before our trade fair in March, which is fixed.
DecisionsThe managing director decides. The sales manager is the day-to-day contact, 4 hours a week. No IT department, so we want a hosting and maintenance agreement.
What we want backPrice range, assumptions, exclusions, proposed first phase and who does the work. Reply within two weeks.

The line about the ERP is the biggest unknown in the whole brief, and it's written honestly. If the ERP has a usable API, syncing orders is a manageable task. If it doesn't, orders may have to go through a file export or a manual step, which can shift the price significantly. A good developer will ask about exactly that point before putting a number on paper.

Notice the fixed March deadline too. Paired with an unknown integration, it's the kind of combination where I'd suggest launching with a simple manual order flow and automating the ERP sync in a second phase, so the deadline doesn't depend on the riskiest part.

Mistakes that lead to useless quotes

Most quotes you can't compare start with a vague brief. Besides a missing budget, these are the usual culprits:

  • Describing the solution instead of the problem. A finished mockup locks the developer into your idea, even when there's a cheaper route to the same goal.
  • Pointing to a famous product. "Like Uber, but for equipment rental" explains the idea, not which parts of Uber you need in version one. Those parts are what cost money.
  • An unprioritized wish list. If everything is equally important, the developer prices all of it, and you get a figure that scares you.
  • Tech choices without a reason. "It must be built in React" is fine if your team can maintain React. Otherwise, proposing the stack is the developer's job, and getting it explained is yours.
  • Hiding uncertainty. "We don't know whether the ERP has an API" beats saying nothing.

When not to send your brief to a freelancer like me

  • If you're running a public tender, procurement rules apply. You'll need a full requirements spec and usually legal advice.
  • If an off-the-shelf product can do the job, such as an e-commerce platform or a ready-made booking system, check that first. It's usually cheaper than custom development.
  • If the project needs a full team from day one, an agency is often a better fit than a single developer.
  • If your system is built on a stack I don't work with, you'll get more from someone who knows it. I work with Laravel, PHP and JavaScript (React and Next.js).

Next steps

Run through this list before you hit send.

Before you send your project brief

  • Two pages at most, written so an outsider can follow it.
  • The problem and goal come before any solution.
  • Version one is split into must-have and can-wait.
  • Systems and data it must work with are listed, including the ones you're unsure about.
  • A budget range and deadline are included, with the reason behind the deadline.
  • One decision-maker is named and has time for the project.
  • You've stated what you want back and a reply-by date.
  • Every developer gets the same version.

Send it to two to four developers. If you don't have names yet, here's my rundown of where to find developers and what each source is good for. Once the quotes are in, use these questions to ask a developer before hiring to choose between them.

If you'd like to know how I price work before sending anything, my pricing page explains the paid discovery phase and how I get to a fixed price.

Frequently asked questions

What if I don't know my budget yet?

Start with what the problem costs you today, in hours of manual work or customers lost, and what solving it is worth. That gives you a ceiling. You can also ask developers for rough ranges at two levels: a lean first version and a fuller build. Seeing the gap between the two helps you decide before you commit to anything.

Do I need an NDA before sending a project brief?

Rarely. A one or two page brief seldom contains anything that needs protecting, and the idea itself is rarely the valuable part. If you do have trade secrets, keep the details out of the first version and share them once you've shortlisted one or two developers and have a confidentiality agreement in place.

Should I write the brief in English if my team works in another language?

Write it in the language the developer works in, and English is a safe default when you hire internationally. Keep sentences short and add a brief glossary for industry terms and internal names. If you use machine translation, read the result yourself. Industry terms are easy to mistranslate, and a misunderstood term can end up in the price.