Every week a founder pings me: "Should we build our React Native app from scratch, or buy a template?"
Wrong question.
The right question is: where is the differentiator in my product actually located? Answer that, and the build-vs-buy question answers itself.
Let me show you why.
The 80/20 nobody prices out
Every React Native app has two layers.
Layer 1, the 80% that's the same in every app:
- Email + OAuth + Apple Sign-In flows
- Password reset with deep-linked tokens
- Row-Level Security on every table
- Push notifications (iOS + Android + delivery receipts)
- Stripe or IAP + license grants
- Offline-safe state, cache invalidation
- Error boundaries, loading skeletons, empty states
- Accessibility labels + dynamic type
- EAS Build + code signing + TestFlight + Play Console
- OTA updates
- Legal screens (privacy, terms, refund)
Layer 2, the 20% that's actually your product:
- The AI pipeline
- The recipe database
- The marketplace matcher
- The workout planner
- The unique thing
When you "build from scratch," you're paying to build both layers. When you "buy a template," you're paying to skip Layer 1 so your whole team can chase Layer 2.
The math
Rough numbers at $80/hr for a mid-market React Native engineer, using realistic (not optimistic) hours:
| Component | Hours | Cost |
|---|---|---|
| Auth (email + OAuth + Apple + reset) | 90 | $7,200 |
| Supabase schema + RLS + migrations | 70 | $5,600 |
| Push notifications (iOS + Android) | 60 | $4,800 |
| Stripe + license grants | 80 | $6,400 |
| Nav + deep links + tab bar | 50 | $4,000 |
| EAS Build + submission | 40 | $3,200 |
| Design system + dark mode + a11y | 100 | $8,000 |
| Total for Layer 1 | 490 | ~$39,200 |
That's what you pay before writing one line of Layer 2.
Meanwhile, a template that ships Layer 1 as a working repo, with backend, auth, Stripe, and pipelines, costs $79 to $299 one time.
Why so many "buy" attempts fail
Founders who tried a template and hated it usually got burned by one of these:
- UI-only "full-stack" templates. You paid for the mockups. Backend is your problem.
- Ambiguous licensing. You can't legally ship in a paid app without a bigger tier.
- Copy-paste soup. Three state-management libraries in one repo. Cursor and Claude Code refuse to extend it.
- Dead vendor. Last commit 14 months ago. React Native version is two majors behind.
- Vendor lock-in. Can't swap the AI provider without rewriting half the app.
The fix isn't "give up on templates." The fix is "don't buy those templates."
The decision framework
Ask one question:
Where is my differentiator actually located?
Three cases.
Case A: product-shaped differentiator (~90% of apps).
AI pipeline, marketplace mechanic, workflow, recipe DB, planner logic.
→ Buy a template. Spend every hour of engineering budget on Layer 2.
Case B: infrastructure-shaped differentiator (rare).
Custom native module, novel audio pipeline, on-device ML.
→ Build from scratch, or fork a template and rewrite what matters.
Case C: mixed.
Product-shaped mostly, but one or two infra pieces are genuinely custom.
→ Buy and fork. Keep the Layer 1 you get. Rewrite the parts that don't fit.
Case A is where most founders actually are, but Case B is where they think they are. Be honest.
What "a good buy" looks like
The template needs to check these boxes. If it can't, keep looking:
[x] Full source, TypeScript everywhere
[x] Real backend (Postgres + auth + storage + edge functions)
[x] RLS policies on every table
[x] Consistent state management (one library, not three)
[x] Consistent file structure across screens
[x] Modular AI/backend layer (swap providers without rewriting)
[x] Commercial license, one-time or clear upgrade path
[x] Refund window that isn't hostile
[x] Vendor still active (commits in last 90 days)
The last four boxes matter more than any screen-count number in the marketing copy.
Comparison table
| Build from scratch | Cheap UI template | Marketplace template | Applighter | |
|---|---|---|---|---|
| Time to MVP | 8–16 weeks | 6–10 weeks | 5–9 weeks | 1–3 weeks |
| Backend included | ❌ (you build) | ❌ | Sometimes | ✅ Supabase |
| Auth flows | ❌ | Screens only | Screens only | ✅ Real |
| AI wired up | ❌ | ❌ | ❌ | ✅ Where relevant |
| Agent-friendly | Depends | Rarely | Rarely | ✅ |
| License | You own it | Ambiguous | Per-app fees | ✅ Clear |
| Lifetime updates | You maintain | ❌ | ❌ | ✅ |
Concrete example
Applighter's AI Voice Notes template, $79 one time, ships with:
- 16 React Native + Expo screens, TypeScript
- Working Supabase backend with schema + RLS + migrations
- Recording, transcription, summarization pipelines wired up
- EAS Build pre-configured for TestFlight + Play Console
- Single commercial license, upgradeable to multi-app
- Lifetime updates, no subscription
- 7-day no-questions refund window
That template gets a founder to TestFlight in about 2 weeks. Building the equivalent Layer 1 from scratch takes about 490 hours. The delta is what ships your product.
More options and stack comparisons in the Applighter apps catalog and the honest boilerplate comparison post.
Reference docs worth reading
Build vs buy is a false binary. The right question is where your differentiator lives. If it's product-shaped, and it is for roughly 90% of apps, buy a template that gives you a real Layer 1: backend, auth, payments, EAS. Spend your engineering budget on Layer 2. If your first template was bad, that's a lesson about which template, not about templates in general.
If you're currently in week one of a Notion doc about this, close it and ship.
Top comments (0)