Init Expo App
The fastest way to bootstrap production-ready Expo React Native apps.
Stop wasting hours on setup. Start building features in minutes.
✔ Initializing project...✔ Setting up Expo Router & NativeWind v4✔ Expo Router & NativeWind v4✔ Configuring TypeScript & ESLint✔ Installing dependencies with pnpm✔ Installing deps with pnpm✔ Setting up Zustand stores✔ Creating auth screens (Login, Register, Forgot Password)✔ Creating auth screens✔ Configuring Axios API layerℹ Project structure created:ℹ Structure created:app/ hooks/ stores/npx init-expo-app
My New App
Your production-ready app is configured
Tech Stack Included
NativeWind
Tailwind CSS
Expo Router
File-based
Zustand
State mgmt
Axios
API client
Auth Screens Ready
Login
Email & password auth
Sign Up
Registration flow
Home
Dashboard screen
200+ downloads
in first week
Open Source
MIT License
Expo SDK 52
Latest stable
Built for
indie devs & teams
Stop reinventing the wheel
Every new Expo project shouldn't require the same repetitive setup.
Without Init Expo App
- 2–4 hours wasted on boilerplate setup
- Repeating auth screens for every project
- Manual NativeWind configuration
- Inconsistent folder structure
- State management setup from scratch
With Init Expo App
- 30 seconds to start building
- Pre-configured auth-ready screens
- NativeWind v4 out of the box
- Clean, scalable architecture
- Zustand already integrated
Production-ready from day one
Everything you need to build and ship a React Native app, already configured.
NativeWind v4
Tailwind CSS for React Native, pre-configured and ready to use.
<View className="flex-1 bg-white">
<Text className="text-lg font-bold">
Hello World
</Text>
</View>
Expo Router
File-based routing with typed routes and deep linking support.
app/
├── (tabs)/
│ ├── index.tsx
│ └── profile.tsx
├── auth/
│ └── login.tsx
└── _layout.tsx
Zustand
Lightweight state management with persistence built-in.
const useStore = create((set) => ({
user: null,
setUser: (user) => set({ user }),
}));
Axios Instance
Pre-configured API layer with interceptors and error handling.
export const api = axios.create({
baseURL: API_URL,
timeout: 10000,
});
Auth-Ready Screens
Login, register, and forgot password screens ready to connect. Includes form validation, error handling, and loading states.
// Pre-built auth screens
app/auth/
├── login.tsx // Email & password
├── register.tsx // Full signup flow
└── forgot.tsx // Password reset
Environment Variables
Expo's env system configured with TypeScript support.
// app.config.ts
extra: {
apiUrl: process.env.API_URL,
}
Clean architecture
A scalable folder structure that grows with your project.
my-app/
├── app/
│ ├── (tabs)/
│ │ ├── _layout.tsx
│ │ ├── index.tsx
│ │ └── profile.tsx
│ ├── auth/
│ │ ├── login.tsx
│ │ ├── register.tsx
│ │ └── forgot-password.tsx
│ ├── _layout.tsx
│ └── +not-found.tsx
├── components/
│ ├── ui/
│ │ ├── Button.tsx
│ │ ├── Input.tsx
│ │ └── Card.tsx
│ └── common/
│ └── Header.tsx
├── hooks/
│ ├── useAuth.ts
│ └── useApi.ts
├── lib/
│ ├── api.ts
│ ├── storage.ts
│ └── utils.ts
├── stores/
│ ├── authStore.ts
│ └── appStore.ts
├── types/
│ └── index.ts
├── constants/
│ └── index.ts
├── app.config.ts
├── tailwind.config.js
└── package.json Get started in seconds
Three steps. That's all it takes.
Run one command
Just run npx init-expo-app my-app in your terminal.
$ npx init-expo-app my-app Choose features
Interactively select the features you need for your project.
Start building
Your production-ready app is ready. Focus on features, not setup.
Is this for you?
We're transparent about what Init Expo App is—and isn't—designed for.
Perfect for
- Indie developers shipping fast
- Startups building MVPs
- Hackathon participants
- Freelancers starting new projects
- React Native learners
Not designed for
- Heavily custom navigation needs
- Non-Expo React Native apps
- Brownfield integrations
- Projects requiring bare workflow
Quick start
Get up and running in under a minute.
$ npx init-expo-app my-app▋$ cd my-app▋$ npx expo start▋Need more info? Check out the full documentation on GitHub .
Open source, always
Init Expo App is MIT licensed. Contributions are welcome and appreciated.
How to contribute
- 1 Fork the repository
- 2 Create a feature branch
- 3 Make your changes
- 4 Submit a pull request
We follow Conventional Commits for all contributions.
View Repository