How to write a specification for an app (10-point template)

Two companies can quote €2,500 and €25,000 for the “same” app — because each imagines something different. A good specification fixes that: you get comparable quotes, a more accurate timeline and fewer surprises during development.

3 min read

The main reason software projects run late and over budget is not bad coding, but an unclear agreement on what is being built. A requirements specification describes what the app should do, for whom, and how you will know it is finished. You don’t need technical knowledge — you need clarity. Below is a template you can copy.

In short

Describe the problem and goal, the users and their roles, the main steps users go through, a feature list with priorities (must / should / later), data and integrations, requirements for speed, security and languages, budget and deadline, what is out of scope, and how you will check that the work is done.

A 10-point specification template

  1. Problem and goal — what doesn’t work today or takes too much time, and what you want to achieve. E.g. “30% of appointments are missed because customers forget” → “reduce no-shows with automatic reminders”.
  2. Users and roles — who uses the app: customer, staff, administrator. What each role may see and do.
  3. Main flows — 3–7 steps for the most important actions. E.g. “Customer picks a service → picks staff → picks a slot → confirms → receives an SMS”.
  4. Feature list with priorities — mark every feature as must, should or later. This affects the price of the first version more than anything.
  5. Data — what is stored (customers, orders, documents), where existing data comes from, and whether it must be migrated from Excel or an old system.
  6. Integrations — card payments, invoicing or fiscal systems, accounting, email/SMS, existing systems.
  7. Platforms and languages — web, iPhone, Android; which languages; whether it must work offline.
  8. Non-functional requirements — speed, number of users, security and data protection (GDPR), accessibility, backups.
  9. Budget, deadline and out of scope — an indicative budget, a target date and what is explicitly not part of this phase.
  10. Acceptance criteria — how you will check a feature is done. E.g. “Cancellation is possible up to 12 h before; after that the button is disabled.”

Example of a well-described feature

PoorGood
“The app should have reminders.”“The customer gets a push notification 24 h and 2 h before the appointment. If notifications are off, an SMS is sent. The admin can edit the message text.”
“Reports for management.”“Every Monday at 8 am the manager receives an email with bookings, cancellations and revenue per staff member for the previous week.”

Common mistakes that raise the price

  • “Like app X, just for us” — without a feature list the developer has to guess, so quotes are not comparable.
  • Everything is a must — the first version becomes big, expensive and late. Separate what the app cannot work without.
  • Forgotten admin side — who enters prices, slots and users? That is often half the work.
  • No acceptance criteria — at the end everyone argues about what “done” means.
  • Unclear ownership — state in the specification or contract that source code, data and access are yours.

If you are preparing a public tender, also read technical specification for a website tender. For indicative prices see how much a mobile app costs and custom software vs off-the-shelf.

Have an idea but no specification?

Send a few sentences about what you want. I’ll help turn it into a clear specification with priorities — and you’ll get an indicative price for the first version.

Send an enquiry

Engimotive · Published November 5, 2026

FAQ

Frequently asked questions

Does a specification have to be technical?

No. The best specification from a client describes the problem, the users and what each of them must be able to do — in your own words. Technical choices (database, language, server) are proposed by the developer. Your job is to say clearly what and why, not how.

How long should a specification be?

For a smaller app, 2–5 pages are enough. More important than length is that every feature is clear and testable. One sentence like “a customer can cancel an appointment no later than 12 hours before” is worth more than a page of general description.

What if I don’t know all features in advance?

That is normal. Mark what is required for the first version and what can come later. A developer can help you complete the specification in a short workshop or call before quoting — a good sign of a serious developer.

Contact

Have a project in mind? Let's talk.

Describe your idea in a few sentences. I'll reply personally within 24 hours on business days, with clear next steps.

Emailinfo@engimotive.com
LocationZenica, Bosnia and Herzegovina
Working modeRemote — Europe and worldwide

What happens next: a reply with a few questions → a short call → a fixed quote. No obligation.

Fields marked with * are required. I use your details only to reply to your inquiry. Privacy policy.