PHL Boilerplate
Production Ready • Open Source

Build Mobile Apps
10x Faster

A production-ready React Native boilerplate with Expo, TypeScript, Zustand, and modern architecture. Start shipping features, not boilerplate.

terminal
$npx create-expo-app -t phl-rn-boilerplate my-app

Creating your app...

✓ Project created successfully!

$cd my-app && npm start

› Press a │ open Android

› Press i │ open iOS simulator

10+
Built-in Features
100%
TypeScript
< 5min
Setup Time
Free
Forever

Everything You Need to Ship Fast

Pre-configured with best practices and modern tools. No more wasting time on setup — start building features from day one.

Expo SDK 54

Latest Expo with EAS Build support, OTA updates, and seamless native module integration.

TypeScript First

100% TypeScript with strict mode, path aliases, and fully typed components and hooks.

State Management

Zustand for global state with MMKV persistence. Fast, lightweight, and TypeScript-friendly.

File-based Routing

Expo Router with nested layouts, type-safe navigation, and deep linking out of the box.

NativeWind Styling

Tailwind CSS for React Native. Utility-first styling with dark mode support built-in.

i18n Ready

Multi-language support with i18next. Easy to add new languages and manage translations.

React Query

TanStack Query for data fetching with caching, background updates, and optimistic mutations.

Form Validation

React Hook Form with Zod schemas. Type-safe validation with excellent performance.

Debug Tools

Built-in debug FAB for development. Device info, route navigator, and more.

Clean Architecture

Organized for scalability and maintainability. Each layer has a clear responsibility, making the codebase easy to understand and extend.

Layered Architecture

P

Presentation

Screens • Components • ViewModels • Hooks

D

Domain

Entities • Schemas • Business Logic

D

Data

API Client • Storage • Repositories

C

Core

Config • Bootstrap • Providers

Project Structure

project structure
src/
├── app/              # Expo Router (file-based routing)
│   ├── _layout.tsx   # Root layout
│   └── (tabs)/       # Tab navigator group
├── components/       # Reusable UI components
│   ├── ui/           # Design system components
│   └── dev/          # Development tools
├── core/             # App configuration
│   └── config/       # Bootstrap, env, etc.
├── data/             # Data layer
│   ├── api/          # HTTP client
│   └── storage/      # MMKV storage
├── domain/           # Business layer
│   ├── entities/     # Data models
│   └── schemas/      # Zod schemas
├── hooks/            # Custom React hooks
├── i18n/             # Internationalization
├── presentation/     # UI layer
│   ├── screens/      # Screen components
│   └── viewmodels/   # Screen logic (hooks)
├── providers/        # React context providers
├── stores/           # Zustand stores
└── styles/           # Global styles

Built with Modern Tech

Carefully selected technologies that work great together. All actively maintained and production-tested.

React Native

React Native

0.81
Expo

Expo

SDK 54
TypeScript

TypeScript

5.9
Zustand

Zustand

5.0
React Query

React Query

5.x

NativeWind

4.x
M

MMKV

4.x

Zod

3.x
React 19

Latest React with concurrent features

Reanimated 4

Smooth 60fps animations

i18next

Full internationalization support

Get Started in Seconds

One command to scaffold your new React Native project with everything pre-configured and ready to go.

$npx create-expo-app -t phl-rn-boilerplate my-app
1

Create Project

Run the command above to scaffold your new project

2

Start Developing

Run npm start and open on your device or simulator

3

Ship to Production

Build and deploy with EAS Build in minutes

Love this project?
Support its growth

Your sponsorship helps keep this project maintained, documented, and constantly improving with new features.

Every star and sponsorship motivates us to keep building