The ultimate Next.js 16 + Expo 55 monorepo starter. Build high-performance, premium applications for Web, iOS, and Android with a single codebase. Powered by gluestack-ui v4, it provides a Shadcn-compatible developer experience with unified logic via Solito and NativeWind.
Nexpo Stack combines the power of Next.js for the web and Expo for mobile, unified by Solito routing and gluestack-ui v4.
- Unified Logic: One repository, one language, three platforms.
- Modern UI: Powered by gluestack-ui v4, offering a Shadcn-like developer experienceโcompletely customizable, accessible, and unstyled primitives.
- Native Performance: Real native components on mobile, optimized SSR/Static generation on web.
- Developer Velocity: Hot-reloading across all platforms, type-safe contracts, and pre-built design systems.
| Category | Technology | Version | Description |
|---|---|---|---|
| Web Framework | Next.js | 16.2.4 |
App Router, SEO optimized, Edge ready. |
| Mobile Framework | Expo SDK | 55.x |
Native performance, easy deployments. |
| Backend Framework | Hono | Latest |
Ultrafast web framework with RPC support. |
| Universal Routing | Solito | 5.x |
Unified navigation for Web and Native. |
| UI Components | gluestack-ui v4 | 4.1.x |
Shadcn-compatible, accessible primitives. |
| Styling | NativeWind | v4 |
Tailwind CSS for React Native & Web. |
| Database & ORM | Drizzle | Latest |
Type-safe SQLite ORM. |
| Authentication | Better Auth | Latest |
Comprehensive auth for any platform. |
| Icons | Lucide | Latest |
Beautiful, consistent iconography. |
| Server State | TanStack Query | v5 |
Powerful data fetching & caching. |
| Client State | Zustand | Latest |
Simple, scalable state management. |
| Validation | Zod | v3.24 |
Type-safe schema validation. |
| Skeleton Loading | Boneyard JS | v1.7 |
Pixel-perfect skeleton screens. |
Nexpo Stack uses a Shared-First monorepo architecture powered by Turborepo.
graph TD
A[apps/web - Next.js] --> D[packages/app]
B[apps/mobile - Expo] --> D
S[apps/server - Hono] --> DB[packages/db - Drizzle]
S --> AU[packages/auth - Better Auth]
D --> E[packages/ui - gluestack v4]
D --> F[Solito Routing]
D --> SC[packages/schema - Zod]
D --> I[packages/app/store - Zustand]
D --> J[packages/app/services - API]
S --> SC
AU --> DB
E --> G[NativeWind / Tailwind]
A --> SC
B --> SC
apps/web: Next.js App Router. Blazing fast, SEO-friendly web experience.apps/mobile: Expo / React Native. High-fidelity mobile experience withexpo-router.apps/server: Hono backend. Provides end-to-end type-safe API with Hono RPC.packages/app: The core logic. Contains screens, business logic, and navigation providers.packages/ui: Shared design system built with gluestack-ui v4 (Shadcn-like components).packages/schema: Centralized Zod schemas and TypeScript types shared across all platforms.packages/db: Database layer using Drizzle ORM and SQLite.packages/auth: Universal authentication configuration via Better Auth.packages/env: Unified environment variable management.
# Clone and install
git clone <your-repo>
pnpm install
# Run all platforms
pnpm devNexpo Stack uses the gluestack-ui v4 CLI. To add a new component:
cd packages/ui
pnpm add-ui <component-name>We love contributions! Whether it's fixing a bug, adding a feature, or improving documentation:
- Fork the repository.
- Create your feature branch:
git checkout -b feature/amazing-feature. - Commit your changes:
git commit -m 'Add amazing feature'. - Push to the branch:
git push origin feature/amazing-feature. - Open a Pull Request.
This project is open-source and available under the MIT License.
Built with โค๏ธ by the Nexpo Stack community.