Mobile App Development
Built for one bar of signal.
Your users open your app on a train, in a lift, one-handed, with about twelve seconds of patience. We design and build iOS and Android apps for those moments, then keep them working through every OS update.
- apps live in the App Store and Google Play
- 40+
- average store rating across them
- 4.7 out of 5 stars
- crash-free sessions, last 90 days
- 99.8%
Good morning, Anna
Today
Next appointment
Thu 23 Oct, 10:30
Dr Sara LindVideo visit
Medicines today1 of 3
Södermalm clinic08:12
Your blood test results are ready. Nothing to worry about.
Saved for offline
Try it the way your users will
01The first minute
Most apps lose people in the first minute.
Most uninstalls happen on day one. Usually it isn't a bug. It's the sign-up wall, the permission pop-ups and the empty screen before anything useful.
A typical app
- 0sSplash screen
- 4s“Create an account” wall
- 22s“Check your email”
- 41s“Allow notifications?” with no reason
- 55sFirst useful screen, for the few still here
How we build it
- 2sFirst useful screen, no account needed
- 15sFinds a clinic with a free slot today
- 30sAccount asked for only to save the booking
- 48s“Remind me before my appointment?” Yes.
- 1
Show value before the sign-up. Let people see what the app does before asking who they are.
- 2
Ask for permissions when they make sense. Location when they search nearby, not on launch.
- 3
Never show an empty screen. Every first screen has something to do, even offline.
Source: AppsFlyer, App uninstall report 2025.
02Which kind of app?
Flutter, React Native, native, or not an app at all.
We've shipped all four. Picking the wrong one costs more than any of them, so here's how we'd choose.
| Our pick |
Our pick |
Our pick |
Our pickMobile website | |
|---|---|---|---|---|
| Cost for iOS and Android | One codebase. Lowest of the three apps. | One codebase. About the same as Flutter. | Two codebases. Roughly 1.6–1.8× the cost. | Lowest overall. No store fees or reviews. |
| How native it feels | Very close. Smooth, with the same design on both. | Close. Uses the platform's own buttons and lists. | Completely. It is the platform. | Like a good website, because it is one. |
| Phone features | Most, through plugins. | Most, through plugins. | Everything, from day one. | Camera and location. Push on iPhone only once it's added to the home screen. |
| Works offline | Yes, fully. | Yes, fully. | Yes, fully. | Basic: pages you've already opened. |
| Hiring developers later | A growing pool of Dart developers. | Easiest: any strong React developer. | Two specialists, one per platform. | Any web developer. |
| In the App Store and Google Play | Yes | Yes | Yes | No. Opens from a link or a QR code. |
Still torn? Read: Flutter or React Native in 2026?
03Tested where your users are
We test on the phones your users own, not just the newest ones.
Our test shelf, drawn to scale. Each phone is there for a reason, and the oldest ones find the most bugs.
-
iPhone SE
The smallest screen still in daily use.
-
iPhone 16 Pro Max
The biggest screen, and the Dynamic Island.
-
Galaxy A54
Three years old. The phone most of your users actually have.
-
Redmi A3
3 GB of memory. If it's smooth here, it's smooth anywhere.
-
Pixel 9
New Android versions arrive here first.
-
iPad mini
When your app runs on tablets, it should look like it meant to.
Every release is checked for
- VoiceOver and TalkBack screen readers
- The largest text size
- Dark mode
- Everything reachable with one thumb
- Airplane mode switched on mid-action
- A phone call arriving during a payment
99.8%
Our target for crash-free sessions. You see the real number in every weekly update.
04Store launch
Launch day is really a week.
Apple turned away nearly 1 in 4 app submissions in 2024. Ours go through this list first, then reach your users a few at a time.
- No crashes, placeholder text or unfinished screens Guideline 2.1
- A demo account ready for the reviewer Guideline 2.1
- Privacy labels that match what the app collects App privacy details
- Account deletion inside the app Guideline 5.1.1(v)
- The right sign-in options Guideline 4.8
- In-app purchases for digital goods Guideline 3.1.1
- Screenshots and store text that show the real app Guideline 2.3
Source: Apple, App Store Transparency Report 2024: 1.93 million of 7.77 million submissions rejected.
Who has the update, day by day
Apple phased release · Google Play staged rollout
- 1%Day 1
- 2%Day 2
- 5%Day 3
- 10%Day 4
- 20%Day 5
- 50%Day 6
- 100%Day 7
Day 3: crash rate goes up? We pause the rollout, ship a fix and carry on. 95% of your users never see the bug.
05An app is never finished
Here's what your app's year looks like.
Apple and Google change the rules every year. Miss a date and the app keeps working, until one day it can't be updated.
- Every weekCrash reports and store reviews read and triaged. Urgent fixes go out the same week.
- Every monthLibrary and security updates, so nothing gets too old to update safely.
- 1Late AprilApple starts accepting only uploads built with the latest Xcode and iOS SDK.
- 2May and JuneGoogle I/O and WWDC. New Android and iOS betas arrive, and we test your app on them.
- 331 AugustGoogle Play's deadline for targeting a recent Android version. Miss it and updates are blocked.
- 4SeptemberThe new iOS reaches everyone, with new iPhones and screen sizes. Your app should be ready on day one.
- 5Your renewal dateApple Developer membership and certificates. Let the membership lapse and the app leaves the App Store.
Our support plans cover every one of these. You'll get a note before each date, and a fix before it matters.
06An app people keep
An appointment app 60,000 patients actually keep.
- Before
- Patients booked by phone, or through a web portal whose password they'd usually forgotten. Reception spent mornings on hold queues.
- What we built
- A Flutter app for iOS and Android with booking, video visits, reminders and BankID sign-in, connected to the clinics' existing booking system.
- After
- Most bookings now happen in the app, and the phones at reception are quieter before lunch.
- App Store rating
- 4.8 out of 5 stars
- patients using it
- 60k
- crash-free sessions
- 99.9%
“The overlap with our working hours made remote feel local. With a demo every week, we were never guessing.”
Booked on the bus
“Booked a video visit on the bus in under a minute. Didn't have to call anyone or remember a password.”
07What it costs
What an app costs: the first year, and the ones after.
Most quotes stop at launch. Running an app usually costs 15–20% of the build each year, so here's the whole picture.
Example: a $60k app over three years
- Build
- Running it
- Year 1
- $62.5kBuild, then 3 months of running
- Year 2
- $10kOS updates, store rules, monitoring, small fixes
- Year 3
- $10kThe same, plus a feature or two
Three-year totalAbout $83k
Budget for years two and three, not just the first. An app nobody updates is usually broken within two years.
-
Clickable prototype, tested with five users
$6k–$12k2–3 weeks
-
First version: one codebase, both stores
$30k–$80k12–20 weeks
-
Separate native iOS and Android apps
$70k–$160k16–24 weeks
-
Taking over an existing app
From $4k2-week audit
-
Running it after launch
From $1.5ka month
Always included
- Published under your own Apple and Google accounts
- Source code in your repository
- An automated release pipeline
- 30 days of fixes after launch
FAQ
Questions people ask before building an app.
Further reading
Flutter or React Native: which do you recommend?
For most new apps, Flutter: one codebase, the same design on both platforms and strong performance. React Native wins when your team already writes React, or you want to share code with a React website. We recommend one in the first week and explain why.
Can you take over our existing app without starting again?
Usually, yes. A two-week audit covers the code, crash reports, store reviews and release setup, and ends with a written plan. Most apps we take over get fixed and improved, not rewritten.
Who owns the code and the store accounts?
You do. Apps are published under your company's Apple and Google developer accounts, and the code lives in your repository. We help set up the accounts; Apple asks organisations for a D-U-N-S number, which can take a few days.
What happens if Apple rejects the app?
We fix what the reviewer asks for and resubmit, usually within a day or two, at no extra cost. Our pre-submission checklist catches the common reasons, so it doesn't happen often.
Do we need a backend, and can you build it?
Most apps need one for accounts, data and notifications. We build it alongside the app, or connect to the one you already have. Firebase suits simpler apps; larger ones get their own API.
How do we get people to download it?
With a store listing that converts: screenshots, keywords and reviews, known as app store optimisation, plus a launch plan. Our digital marketing team can run both with you.
Tell us where your users will be.
On the road, in a clinic, on the sofa? Send one paragraph about who'll use the app and where. Within one business day we'll reply with the platform we'd pick, a rough cost and a timeline.