App development
MVP and app development, scoped so version one actually ships.
The failure mode isn't building the wrong thing. It's building eleven things adequately when two would have told you whether any of it was worth continuing.
Shark Labs builds web and mobile applications for startups and product teams, from the first screen through to the App Store and Play Store listings, including the backend and API underneath. A typical minimum viable product ships in eight to sixteen weeks and costs $6,000–20,000, built on React Native or Next.js with Postgres, and scoped around the one question the first version needs to answer.
- 8–16 weeks
- Typical MVP, kickoff to real users
- From $6,000
- Including backend and store submission
- One question
- What v1 is scoped to answer
Scope is the whole job
Nearly every over-budget app project we have seen was estimated accurately and then scoped badly. The estimate was for the thing described in the first meeting. What got built was that thing plus admin tooling, plus a notification system, plus roles and permissions, plus an onboarding flow, each of which was obviously necessary at the moment somebody thought of it.
So discovery starts somewhere unfashionable: what is the single question version one exists to answer, and what is the smallest thing that answers it in front of real users. Everything else goes on a list. The list is real and we will build from it — after you have learned something.
Minimum viable product
The smallest build that puts a real user in front of the core value and produces evidence about whether they want it. Not a cheap version of the finished product — a deliberately narrow one, built properly, so that what you learn from it is trustworthy.
| Commonly asked for | What v1 usually gets instead |
|---|---|
| A full admin dashboard | Direct database access for you, plus two scripts. Saves two to three weeks and nobody outside the team notices. |
| Roles and permissions | One role. Add the second when a real customer needs it, which is often never. |
| Push notifications and email lifecycle | One transactional email. Lifecycle marketing before product-market fit optimises a funnel nobody is in. |
| Native iOS and Android from day one | One codebase in React Native, or a web app first if the audience will accept it. Halves the surface before you know it's the right surface. |
Native, cross-platform, or web
This gets treated as a technical religious argument. It is a distribution decision, and the honest version depends on what the app actually does.
- React Native with Expo is our default for mobile. One codebase, both stores, over-the-air updates for fixes that don't need review, and native modules where a specific capability needs them.
- Fully native is worth it when the product is the hardware access — sustained camera processing, complex gestures, background location, tight platform integration. If that's you, we'll say so.
- A web app is right more often than founders expect, especially B2B. No review queue, no install friction, ship on a Friday afternoon. A store listing is a distribution channel, not a badge of legitimacy.
The backend is where the cost actually is
Screens are the visible part and the cheap part. The expensive parts are the ones nobody demos: authentication, payments, file handling, background jobs, and the data model you will regret if it is wrong.
We build on Postgres, usually through Supabase, because it gives an MVP authentication, row-level security, storage and realtime without five separate services to wire together — and because when the product outgrows it, it is still just Postgres. That is a genuinely important property: the exit is a connection string, not a rewrite.
- ~40%
- Of a typical MVP budget is backend
- 1 codebase
- Both mobile platforms, by default
- Week 1
- When you first see something running
Shipping to the stores
App Store review is a real project step with a real failure rate, and first submissions get rejected for boring reasons — a missing privacy label, a sign-in flow that doesn't offer account deletion, a screenshot that shows a feature the reviewer can't reach. We handle submission, and we build for review from the start rather than discovering the rules at the end.
- Store listings, screenshots and privacy declarations prepared as part of the build.
- Account deletion and data export implemented, because both stores now require them.
- TestFlight and internal testing tracks set up so you can put builds in front of people before launch.
- Published under your own developer accounts. Your app, your listing, your reviews.
And when AI is part of the product
A growing share of MVPs have a language model somewhere in the core loop. That changes the scope more than founders expect: the feature needs evaluation, cost modelling and a defined behaviour when the model is wrong, none of which are visible in a design file.
We build both halves, which is unusual — most app shops treat the AI as an API call and most AI studios don't ship mobile apps. AI integration covers what that involves in detail.
What you get
Everything below is in the price.
A shipped application
Live on the web, or in both app stores under your developer accounts, in your repository.
The backend underneath
Authentication, database, storage, background jobs and an API — on Postgres, so outgrowing us doesn't mean a rewrite.
Store submission handled
Listings, screenshots, privacy declarations, account deletion, and the review cycle including the first rejection.
Analytics from day one
The events that tell you whether the core loop works, not just how many people opened the app.
A prioritised what's-next list
Everything cut from v1, written down and ordered, so the second phase starts from a decision instead of a blank page.
Handover documentation
Architecture, environments, deploy process, and what to do when a build fails at 11pm.
How it runs
From first call to shipped.
From $6,000
A mobile or web MVP including the backend runs $6,000–20,000 over eight to sixteen weeks. A larger product with multiple roles, payments and an admin area runs $20,000–35,000. Discovery is $900–1,800 and comes off the build price.
Full pricing breakdown- 01
Scoping call — free, 45 minutes
What the product is, who it's for, and what version one needs to prove. Usually the first place the scope gets smaller.
- 02
Paid discovery — 1 week
User flows, data model, technical plan and a hard v1 boundary with everything else on a written list. Ends in a fixed price and a date. $900–1,800, credited against the build.
- 03
Build in slices — 8 to 16 weeks
The core loop first, end to end, in week one — even if it's ugly. Then outward. You see something running every week; there is no six-month reveal.
- 04
Beta with real users
TestFlight or a staged web release, with analytics wired up so the feedback includes numbers as well as opinions.
- 05
Launch, then keep going
Store submission and release, then usually a retainer — v1 launching is the point at which you start learning, not the point at which work stops.
Stack
The specific things we build with.
Mobile
React Native
Expo
- Over-the-air updates
- Native modules where needed
Web
Next.js 16
React 19
TypeScript
Tailwind CSS v4
Backend
Postgres
Supabase
- Row-level security
- Background jobs and queues
Around it
Stripe and Razorpay
Resend
Sentry
- Product analytics
FAQ
Questions people actually ask
How much does it cost to build an MVP?
With Shark Labs, $6,000–20,000 for a genuine minimum viable product including the backend and store submission, over eight to sixteen weeks. What moves it is the number of user roles, whether payments are involved, and whether it needs to be mobile as well as web. The full breakdown is on our pricing page.
How long does it take to build an MVP?
Eight to sixteen weeks from the end of discovery, and the variance is almost entirely scope rather than speed. The single biggest lever is how ruthlessly version one is cut — teams that ship in eight weeks are not working faster, they decided to answer one question instead of five.
Should we build native apps or use React Native?
React Native with Expo unless the product's core value depends on deep platform capability — sustained camera work, complex gestures, background location, heavy on-device processing. For most products, one codebase across both stores is the right trade, and over-the-air updates mean small fixes don't queue behind app review.
Do we own the code?
Yes, entirely, from the first commit. It lives in your repository, deploys to your accounts, and is published under your developer accounts. There is no license, no hosting arrangement you have to keep paying us for, and no part of it that only runs on our infrastructure.
What happens after the MVP launches?
Launching is when you start learning, so most projects move onto a retainer — the cut list from discovery becomes a backlog, and the analytics tell you which parts of it matter. Some teams take the codebase in-house at this point, which is a perfectly good outcome; the handover documentation is written for exactly that.
Can you take over a half-finished app?
Often, yes. It starts with a paid audit of what exists — a week, $900–1,800 — that tells you honestly whether finishing it is cheaper than restarting. Sometimes it isn't, and knowing that in week one is worth considerably more than the audit costs.
Keep reading
Related work and reading
Service
Web development
Fast, accessible, search-visible sites and web apps on Next.js — built so your team can edit them without calling us.
Service
AI integration
LLM features, retrieval and agents wired into the systems you already run — with evals, guardrails and a cost model that survives contact with real traffic.
Service
Retainers
Monthly engineering after launch: monitoring, patching, incident response and new features, at a price published on the page.
Article
What an AI feature costs, with the arithmetic shown
Two numbers matter and most quotes only cover one. Here's the build cost, the running cost, and the arithmetic for working out yours.
Next step
What does version one need to prove?
If you can answer that in a sentence, we can usually tell you roughly what it costs and how long it takes on the first call. If you can't yet, that's the more useful conversation.