React Native Boilerplate for Claude Code — Expo Starter Template

React Native Boilerplate for Claude Code — Expo Starter Template

Expo SDK 54 and React Native, with auth, in-app and Stripe payments, push and offline sync already wired. Your agent reads a 37-row map of this repo before it writes anything, so it opens the right file instead of inventing a new one.

Wiring auth, secure token storage, and refresh-token rotation, before you build a single screen.

Fighting RevenueCat, Stripe, and Apple's IAP rules to take your first payment.

EAS builds, push certificates, and a TestFlight rejection you did not see coming.

This is the codebase you wish you had started with. Auth, payments, push, offline, and native APIs are already wired, so day one is your actual product.

Not a README it might skim. A file Claude Code loads at the start of every session in this repo, mapping the sentence you are about to type to the exact rule or recipe it should read first.

A "before you code" table mapping what you might ask for to the rule or recipe to read first. All 37 targets exist in the repo, so none of them sends your agent to a file that is not there.

A section headed "Conventions (these are RULES, not suggestions)", from backend-agnostic imports to where tokens may be stored, plus 7 more under "What NOT to do".

/new-screen , /new-api-call , /new-form and /add-paywall scaffold the wiring, so your agent fills in logic rather than layout.

11 per-feature rule files and 27 task recipes, covering the offline queue, deep linking, infinite scroll, camera, maps, and the Apple rules for non-IAP payments.

Pick a system to see what's done. Auth, payments, push, offline, native device APIs, and 27 UI components ship ready to use.

Every screen below is the boilerplate running unmodified. Tap through the tour.

Against rolling your own Expo setup, or starting from a bare create-expo-app project.

You want your app in the stores, not another month wiring auth, payments, and push from scratch.

You already run Django, Rails, or Node. Delete the bundled backend, set one env var, and keep your API.

CLAUDE.md and slash commands mean your AI agent scaffolds correct screens, hooks, and forms every time.

Calculator, habit tracker, offline tool? Turn auth off and ship a no-account app on the same foundation.

Just this boilerplate, or a bundle that unlocks the courses and every other boilerplate too.

React Native and Expo boilerplate built for Claude Code, Cursor and Copilot. Auth, payments, push and offline sync already wired, with a 37-row map telling your agent where each one lives.

The course + all 4 boilerplates.

Every course, boilerplate, and product I build, in one bundle.

You get an invitation to a private GitHub repository with the full source code: 285 files, 85 passing tests, 27 UI components, an optional backend, 9 guides, and 27 task recipes. Clone it, ship it under your own name to the App Store and Google Play, and get lifetime updates by running git pull when new versions land.

On a fresh clone: well under a minute of commands, then the app opens on the web target. Timed at 25 seconds from git clone to a migrated database with the package cache warm, plus about 90 seconds for the first browser bundle. The very first install on a new machine pulls the whole dependency tree and takes two to four minutes. From there you sign up in the app and land on the home screen with your own account.

The JavaScript surface runs in Expo Go for fast iteration, and the whole app also runs in a browser on the web target while you develop. Native modules such as RevenueCat, push notifications, camera, and maps need a dev build, which is one EAS command. The docs walk you through both paths.

Yes, it is backend-agnostic by design. Keep the bundled Hono + SQLite backend, or delete apps/api, point EXPO_PUBLIC_API_URL at your Django, Rails, FastAPI, or Node API, and implement the documented backend contract.

Custom JWT is wired and working out of the box, against the bundled backend or your own. Clerk and Better Auth are adapter slots rather than finished integrations: you install the provider SDK and uncomment one line in apps/mobile/lib/auth.ts, and your screens keep calling the same useAuth() hook. Budget an hour for that swap, not a rewrite.

Apple and Google require in-app purchase (RevenueCat, included) for digital goods sold inside the app. Stripe is for web checkout, physical goods, or services. Both sit behind one PaymentAdapter, and the full Apple-rules matrix is documented so you stay compliant.

For iOS you either build locally on macOS or use EAS cloud builds, so no local Mac is required. Android builds run from any OS, and you can preview the whole app in a browser while you develop.

You need basic React. The app is React 19 + Expo Router, which uses file-based routing like Next.js, so if you have built a React or Next app you will be productive quickly. You do not need Swift or Kotlin; the boilerplate handles the native modules for you.

Set EXPO_PUBLIC_AUTH_ENABLED=false and the sign-in wall and account UI disappear, leaving the (auth) folder safe to delete. You get a no-account app on the same foundation, with offline, analytics, payments, native APIs, and store tooling all still working.

To you: you keep GitHub access for the lifetime of the product, so git pull brings new features and fixes. To your users: ship JavaScript changes over the air with expo-updates, and push native changes with eas submit.

Yes. If the boilerplate does not work for you, email me within 14 days for a full refund. No questions asked.

Yes, it is built for it. CLAUDE.md documents every convention, 11 per-feature rule files load the right context, and four slash commands (/new-screen, /new-api-call, /new-form, /add-paywall) scaffold a correct feature from a single prompt.

$59 once. Lifetime updates. One commercial app.

Recommended articles