Back to Blog

How to write an app brief that doesn't suck

I've read hundreds of app briefs. Most of them are terrible. Not because the founders are stupid. Because nobody ever showed them what a good brief actually looks like.

The typical brief we receive is a 47-page Google Doc with mood boards, competitor screenshots, a paragraph about "disrupting the space," and zero clarity on what the app actually needs to do. Or it's three bullet points in a Slack message. There's no middle ground.

Here's why this matters: a bad brief doesn't just slow things down. It actively creates problems. Your developer interprets vague requirements their own way. You get something back that doesn't match what was in your head. Then you're paying for revisions on features that should have been right the first time.

A good brief saves you $20,000-$50,000 in wasted development. I've seen it happen enough times to be confident in that number. Let me walk you through how to write one that actually works.


Why most briefs fail

Founders write briefs like they're pitching investors. Big vision. Market opportunity. Revenue projections. How the world will look in five years once their app takes over.

Developers don't need any of that. They need to know what to build, who's using it, and what happens when someone taps each button. The gap between "visionary founder thinking" and "practical build requirements" is where most projects go sideways.

The three most common brief failures I see:

  • The feature dump. A list of 60 features with no indication of priority. Everything is "essential." Nothing is ranked. The developer has no idea what to build first.
  • The mood board masquerading as a brief. Gorgeous Pinterest boards, Dribbble screenshots, colour palettes. Zero information about functionality. You've described how the app should feel but not what it should do.
  • The three-line wonder. "It's like Uber but for dog walking. Needs to work on iPhone and Android. Budget is $50k." That's a conversation starter, not a brief.

All three share the same root problem. They describe the app from the founder's perspective instead of the user's perspective. They tell developers what you want to build, not what people need to accomplish.


Start with the problem, not the solution

Before you write a single word about features, answer this question: what problem does your app solve, and for whom?

Be painfully specific. "It helps people manage their finances" is useless. "It helps Australian freelancers aged 25-40 track unpaid invoices and chase late payments without feeling awkward about it" gives a developer something to work with.

The problem statement shapes every decision that follows. Screen layouts, notification logic, onboarding flows, even which integrations matter. If the developer doesn't deeply understand the problem, they'll make assumptions. Those assumptions cost money.

Write one paragraph. Three to five sentences. Who has the problem, what the problem is, how they currently deal with it, and why current solutions fall short. If you can't do this clearly, you're not ready to brief a developer. You're still figuring out your idea, and there's nothing wrong with that. But don't pay someone to build while you're still thinking.


Define your users (with specifics)

Most briefs say something like "target market: 18-45 year olds who want to get fit." That describes about 12 million Australians. It tells a developer nothing useful.

Instead, write 2-3 user personas with enough detail to be actionable. You don't need a 10-page marketing document. You need enough for a developer to picture the person using the app.

Here's what a useful persona looks like:

Sarah, 32, runs a Pilates studio in Brisbane with 4 instructors. Uses a mix of Mindbody for bookings and a spreadsheet for tracking client progress. Hates that her clients can't see their own history. Checks her phone between classes, never sits at a desktop during work hours. Pays for software if it saves her admin time.

Now a developer knows: mobile-first design. Needs booking integration. Client-facing progress views. Quick-glance dashboards, not dense tables. That single paragraph just eliminated dozens of wrong assumptions.

Do this for each distinct user type in your app. If you have a marketplace with buyers and sellers, write one for each. If you have an admin dashboard, describe the admin too.


Map the core user journeys

This is the part most founders skip, and it's the most valuable section of the entire brief.

A user journey is a step-by-step walkthrough of what someone does inside your app to accomplish a specific goal. Not every goal. The three to five most important ones.

Write them like this:

  1. Sarah opens the app and sees her class schedule for today
  2. She taps on the 9am Reformer class
  3. She sees a list of 8 booked clients with their names and any notes from last session
  4. During class, she taps on a client and logs "struggled with shoulder press, modify next week"
  5. After class, clients get a push notification with a summary of their session

Simple. No jargon. No wireframes needed. But a developer reading this immediately understands the data model, the notification system, the screen hierarchy, and the interaction pattern. You've just communicated more useful information than most 40-page briefs.

Do this for your top 3-5 user journeys. Onboarding. The primary action (the thing users do most often). Payment flow if you're monetising in-app. Any journey that's unique to your app.


Prioritise features ruthlessly

Every founder wants to include everything in v1. I get it. You've been thinking about this for months. Every feature feels critical.

It's not. About 80% of what you think is essential can wait for v2. And including it in v1 will double your timeline and budget without doubling the value.

Split your features into three buckets:

  • Must have (v1). The app literally doesn't work without these. Users can't accomplish the core task. If you removed this feature, there's no product. You should have 5-8 items here. If you have 20, you haven't actually prioritised.
  • Should have (v1.1). Makes the experience significantly better but the app still functions without them. These ship in the first update, 4-8 weeks after launch.
  • Nice to have (v2+). Everything else. Park it. Write it down so you don't forget, then forget about it until you've got real users telling you what they actually want.

The founders who launch fastest and cheapest are the ones who can look at their feature list and say "not yet" to 70% of it. The ones who struggle are the ones who treat everything as non-negotiable. If you need help with this, our free brief template walks you through the prioritisation exercise step by step.


Include the boring stuff

Features are the exciting part. But a brief also needs the operational details that keep your project on track. These aren't glamorous but they prevent massive headaches later.

Include these in your brief:

  • Platform. iOS, Android, or both? If both, are you going cross-platform (Flutter, React Native) or native? If you're not sure, say so. Your developer can advise.
  • Budget range. Don't play games with this. If your budget is $60k-$80k, say that. Developers aren't going to lowball you. They need to know the constraints so they can scope appropriately. A $50k build looks completely different from a $150k build.
  • Timeline. Is there a hard launch date? An event, a funding milestone, a seasonal window? Or is the timeline flexible? Hard deadlines change how a project gets scoped.
  • Integrations. Payment processing (Stripe, Apple Pay). Analytics. Push notifications. Social login. Third-party APIs. List everything the app needs to talk to.
  • Existing assets. Do you have branding? A logo? A design system? Existing user data? An API from another product? Anything that already exists saves time and money.

I know. It's tedious. But a developer who knows your budget, timeline, and technical constraints from day one will give you a more accurate quote and a more realistic plan. Surprises in development are expensive. Front-load the information.


What to leave out

Just as important as what goes in. Leave these out of your brief:

  • Technical implementation details. Don't tell a developer which database to use or how to structure the backend. Unless you're a technical founder, this isn't your job. Describe what the app should do, not how it should work under the hood.
  • Pixel-perfect designs. High-fidelity mockups at the brief stage cause more problems than they solve. They lock in design decisions before anyone understands the requirements. Rough sketches or simple wireframes are fine. Let the design phase be the design phase.
  • Market size data. Your developer doesn't need to know the TAM is $4.2 billion. Save that for your investor deck.
  • The "why me" pitch. Your developer isn't deciding whether to invest. They're deciding how to build it. Skip the personal story and competitive advantages. Focus on the product.

Use our template

We built a free app development brief template that walks you through everything I've covered here. It's the same structure we use with every Rebelled client before we write a line of code.

It takes about 2-3 hours to complete properly. Some founders knock it out in an afternoon. Others take a week, going back and forth, refining their thinking. Both approaches work. The point is that you do the thinking before you start spending.

A brief written with this template will get you better quotes, faster turnaround, fewer revisions, and a build that actually matches what you had in your head. I've seen the difference play out across hundreds of projects. The ones that start with a solid brief almost always cost less and ship faster than the ones that start with "let's just figure it out as we go."

Don't figure it out as you go. Figure it out first. Then go.

Jarrod Macfarlane
Jarrod Macfarlane
Founder, Rebelled

Ready to build your app?

We'll help you figure out if your idea has legs, design it properly, and get it live.

Get Your Free Game Plan