App quote breakdown: editorial illustration of a detailed invoice with time lines, prices and technical tasks, in long ticket format on green background.
Mobile apps 11 min

I show you the real breakdown of a €5,000 app quote (line by line)

Without a table with ranges, without 'it depends'. I show you the exact quote I closed with a client for a management app, with each hour of work, each technical decision, and why it costs what it costs.

Daniel Software Engineer

The other day, a client asked me by email: “Daniel, why does your app cost €5,000 when my cousin told me he had one made for €1,000?”. I answered with a breakdown. I showed them exactly what was inside those €5,000, hour by hour, decision by decision. And they told me: “now I understand, thanks”. And they signed the project that same week.

Instead of giving you a table with ranges (which is what everyone does and what helps nobody), I’m going to show you the real breakdown of an app quote I closed 6 months ago. It’s the Westside Wellness app, which is a real and verifiable case (under NDA, so the name is changed). I explain each line, why it costs what it costs, and what would happen if we cut some.

It’s not the shortest post I’m going to write, but it’s the one that will help you the most if you’re evaluating making an app for your business. And at the end you’ll know exactly what to ask when you receive a quote from any developer or agency.


The project: internal management app for an aesthetics clinic

What Sarah (the clinic owner) asked me: an app for her team to manage appointments, see patient history, control revenue in real time, and chat with patients without having to give personal WhatsApp. Nothing public-facing, all internal. Multi-platform (iOS + Android) because they have 2 iPads at reception, 3 iPhones on the team, and 2 Android tablets for the rooms.

Stack we agreed on: React Native + Supabase + TypeScript. Why this and not another: I explain it in the stack comparison post, but summarised, React Native because 90% of the screens are forms and views with data (we don’t need 3D graphics or heavy animations), and Supabase because it already complies with GDPR, has PostgreSQL database, authentication, and realtime for chat and statistics.

Total agreed quote: €5,000, VAT apart, in 6 sprints of 1-2 weeks each. Payment model: 20% on starting each sprint, 80% at the end if Sarah is happy. If not, she doesn’t pay that sprint and it’s over.

What I’m going to show you next is the sprint-by-sprint breakdown, with the dedicated hours and what was delivered in each one. Real data, no number rounded to look pretty.


Sprint 1: setup + auth + first screen (€780, 1 week)

What I delivered at the end of the first week:

  • React Native base project with Expo configured.
  • Connection to Supabase with authentication (email + password, with magic link backup).
  • First functional screen: login + empty dashboard with the structure of the rest.
  • Repository on GitHub with Sarah’s account as owner, me as collaborator.
  • 1 Figma mockup of the 3 main screens (login, dashboard, appointments).

Hours breakdown:

Task Hours Cost (at €60/h)
Project setup, Expo, TypeScript, ESLint, Prettier 3 €180
Supabase connection, Auth configuration 2 €120
Login screen + empty dashboard 4 €240
Figma mockups of the 3 main screens 2 €120
Initial meeting + review with Sarah + adjustments 2 €120
Total sprint 1 13 h €780

What Sarah paid at the end of week 1: €780 (20% on starting + 80% on being happy with the delivery). Sarah saw the app on her iPhone, saw the mockups, made 3 small comments, and paid.

What this sprint did NOT include (and why): appointment management, chat, statistics, everything that comes next. This is what confuses clients the most: an app is not delivered all at once, it’s delivered sprint by sprint, and each sprint has a specific cost and deliverable. It’s not “I charge you €5,000 and I deliver it in 2 months”. It’s “I charge you €780 this week, €840 the next, €720 the next, etc., and at the end of sprint 6 you have the complete app”.


Sprint 2: appointment management (€840, 1.5 weeks)

What I delivered at the end of the second week + half:

  • Appointments screen with visual calendar (day, week, month).
  • View by treatment, professional and room.
  • Create, edit, cancel appointments from the app.
  • Real-time sync with Supabase (if two receptionists modify at the same time, it updates for both).
  • Push notification when there’s a new appointment (prepared for sprint 3, activated in sprint 4).

Hours breakdown:

Task Hours Cost
Appointments database design (Postgres) 2 €120
Visual calendar screen with day/week/month navigation 6 €360
Create/edit/cancel appointments logic 3 €180
Real-time sync with Supabase 2 €120
Manual testing + adjustments 1 €60
Total sprint 2 14 h €840

The most expensive part of this sprint was the calendar screen. A calendar screen with day/week/month, fluid navigation, and real-time update, takes between 6 and 8 hours if you already have the database well done. If the screen is “naked” (without drag, without resizing, without filters), it can be done in 3-4 hours, but Sarah wanted something usable, not something minimal.


Sprint 3: patient file + clinical history (€900, 1.5 weeks)

The most delicate of the whole app, because of the GDPR issue. This is where a low-cost quote starts to fail, because most junior freelance developers don’t know how to do this right.

  • Patient file screen with all data (personal, allergies, notes).
  • Encrypted clinical history (Postgres with pgcrypto, only accessible for authenticated users).
  • GDPR compliance: explicit consent, right of access, right of deletion, right of portability.
  • Audit log: every access to a history is recorded (who, when, which patient).

Hours breakdown:

Task Hours Cost
Patient and history database design 3 €180
Patient file screen 4 €240
Clinical history screen with encryption 3 €180
GDPR implementation (consent, rights, logs) 3 €180
Testing + adjustments 2 €120
Total sprint 3 15 h €900

GDPR is not optional, and most freelancers charging €1,000 for an app don’t implement it. I know because I’ve had to fix 3 “cheap” apps that were in production without GDPR compliance, and the minimum fine for this is €20,000 (which is what can hit Sarah if she doesn’t comply). Implementing GDPR well costs 3-4 extra hours. Not doing it costs €20,000 in fines plus the cost of redoing the app. The decision is easy.


Sprint 4: push notifications + email confirmation (€660, 1 week)

Once appointments work, you have to reduce no-shows. Push notifications are the most effective tool for this.

  • Push notification 24 hours before each appointment.
  • Push notification 2 hours before each appointment.
  • Confirmation email when the appointment is created.
  • Cancellation email when it’s cancelled.
  • APNs (Apple) and FCM (Google) configuration.

Hours breakdown:

Task Hours Cost
APNs and FCM configuration 2 €120
Push send logic according to remaining time 3 €180
Confirmation/cancellation email (Resend) 2 €120
Testing on real iOS and Android 1 €60
Documentation for Sarah 1 €60
Total sprint 4 9 h €660

This sprint was the shortest, but the one with the most impact on the business. Sarah told me the following week: “Daniel, no-shows have dropped 35% in 7 days. Push notifications are the best investment I’ve ever made”. At 8 appointments/day, 35% fewer no-shows is 2-3 extra appointments per day. At an €80 average ticket, that’s €160-240/day extra. The sprint paid for itself in 2 days.


Sprint 5: real-time revenue statistics (€780, 1.5 weeks)

What Sarah likes most about the app: seeing the day’s revenue in real time from her iPhone, without waiting for the till to close.

  • Dashboard with main KPIs: day’s revenue, week, month, comparison with previous period.
  • Evolution graphs (revenue per day, per treatment, per professional).
  • Filters by date range, professional, treatment.
  • Export to CSV for the accountant.

Hours breakdown:

Task Hours Cost
Revenue database design 2 €120
Real-time KPI dashboard 5 €300
Evolution graphs with Victory Native 3 €180
Filters and CSV export 2 €120
Testing + adjustments 1 €60
Total sprint 5 13 h €780

The most technically complex sprint to date, because real-time graphs on mobile are complicated if you want to do them well. The library I used (Victory Native) has a powerful API but requires a lot of initial configuration.


Sprint 6: patient chat (€720, 1.5 weeks)

The final sprint. What allows the clinic to talk to patients from the app, without giving personal WhatsApps.

  • Chat screen with list of conversations.
  • Real-time messaging with Supabase Realtime.
  • “Typing…” indicator.
  • Push notification when a new message arrives.
  • Message encryption (optional, activated by default to comply with GDPR).

Hours breakdown:

Task Hours Cost
Message database design 1 €60
Chat screen with conversation list 3 €180
Real-time messaging with WebSocket 4 €240
Push notifications for new messages 1 €60
Testing on iOS, Android, and with 2 simultaneous devices 2 €120
Documentation + final delivery 1 €60
Total sprint 6 12 h €720

The chat was surprisingly fast to do, because Supabase already has the realtime infrastructure set up. If I had had to set up the backend from scratch with Node.js + Socket.io, this sprint would have cost €1,440 and 3 weeks.


The real total breakdown

Sprint Hours Cost Delivered
1: Setup + auth 13 €780 Base app, login, mockups
2: Appointment management 14 €840 Complete visual calendar
3: Patients + GDPR history 15 €900 File + encrypted history
4: Push notifications 9 €660 24h/2h push, emails
5: Revenue statistics 13 €780 Real-time dashboard
6: Patient chat 12 €720 Encrypted messaging
Total 76 h €4,680 Complete app in production

To this you have to add 2 final hours of review and delivery, which I didn’t charge because it was already within sprint 6. Effective cost: 76 hours at €60/h average = €4,680. I quoted Sarah €5,000, but in the end I didn’t charge her the 2 extra hours of review because it didn’t seem fair to me. I charged her €4,680.

Sarah is happy with the app, uses it every day, and no-shows have dropped 35%. The investment paid for itself in 3 weeks just with the reduced no-shows.


What I would cut if the budget were lower

If Sarah had had €3,000 instead of €5,000, this is what I would have cut, in order of importance:

  1. I would remove the chat (-€720). It’s the most dispensable feature. The team can keep using WhatsApp Business to talk to patients for a while.
  2. I would remove the advanced statistics (-€360). With a simple dashboard with the day’s KPIs, it’s enough. Evolution graphs can wait.
  3. I would remove CSV export (-€120). Sarah can copy the data manually once a month for the accountant.
  4. I would remove message encryption (-€60). The chat could be done without encryption (less secure, but valid for MVP).

With those cuts, the app came out at €3,420 with: appointment management, patient file, clinical history, push notifications, basic statistics and dashboard. Which is 90% of the value of the complete app for 68% of the price. Sprints 5 and 6 could be done later, when the business generates more cash flow.


What I would NEVER cut

There are 3 things that, for less money, I would not cut in an internal management app:

  1. GDPR compliance of the clinical history. Not complying can cost €20,000 in fines. Cutting this is giving away money.
  2. Push notifications 24h before each appointment. It’s the feature that has the most impact on the business. Without it, the app isn’t useful.
  3. Correct database setup. A poorly designed database at the beginning costs 10x more to redo later. Better to invest 5-8 hours here than 50 hours in future sprints fixing problems.

If you want a quote like this for your app

If you have an app idea and want a quote this detailed, write to me at landinowebs@gmail.com or via WhatsApp. I’ll send you a free first analysis in 24-48h, and if we fit, a quote fixed in writing sprint by sprint. No commitment.

And if you want to see the complete Sarah case with screenshots, here: Westside Wellness — case study (under NDA, screenshots available on request).

Want to apply this to your project?

If you liked the article and want me to help you with your web, app or SEO, write to me. I reply within 24 hours with a fixed-price quote in writing or a call to scope your case, no commitment.