Release / v1.0.0

Start with the
good parts.

A deliberate Expo foundation for teams that want a real mobile app baseline: shared UI, feature boundaries, auth, notifications, typed network helpers, and the tooling already wired in.

Expo SDK 57 · React Native 0.86 · TypeScript 6
starter-kit / terminal•••
# bring your app foundation home
git clone https://github.com/congthien2003/expo-starter-kit.git
cd expo-starter-kit
npm install
npx expo start

› scan the QR code, or press a / i / w
v1.0.0starter release
12shared UI primitives
57Expo SDK
0.86React Native
01 / foundation

The boring parts, already done.

Enough structure to move quickly. No invented framework layered over Expo.

01

Shared UI system

Buttons, inputs, cards, badges, typography, loading, empty states, modal, safe-area and utility controls.

02

Feature-first auth

A reference auth feature with a screen, hook, provider, Zod schema, typed contracts and secure token persistence.

03

Notifications ready

Permission handling, Expo push-token retrieval, foreground events and Android channel setup live behind one provider.

04

Responsive by default

NativeWind tokens and responsive typography via react-native-size-matters keep the included UI practical across devices.

05

Typed app services

Axios API helpers, API response models, a focused Zustand app store and Socket.IO connection utility are ready to compose.

06

Router patterns

Expo Router is configured with tabs, a modal route, typed routes, root providers and focused demo surfaces.

02 / current stack

Versions from the actual project.

  • Expo 57Application runtime, device APIs and development tooling.
  • React 19.2Current component runtime, paired with React Native 0.86.
  • Router 57File-based tabs, layouts and modal navigation.
  • NativeWind 4Utility-first styling and the shared design tokens.
  • TypeScript 6Strict, typed app and feature contracts.
  • Zustand / ZodLightweight app state and runtime form validation.
03 / shared UI
12

Composable primitives in components/ui, plus a working screen to inspect their variants.

ButtonTypographyInputModalCardBadgeLoadingEmptyStateQuantityInputDividerSafeAreaCollapsible
04 / quickstart

Clone. Install. Build your thing.

The starter is a repository, not a package template. Clone it, install its pinned Expo dependencies, then open it on the target you need.

  1. Clone the repository into your workspace.
  2. Install dependencies with npm.
  3. Run Expo and choose Android, iOS, web, or a physical device.
quickstart.shcopy / paste
git clone https://github.com/congthien2003/expo-starter-kit.git
cd expo-starter-kit
npm install
npx expo start

# platform shortcuts
npm run android
npm run ios
npm run web