A Full-Stack React Native Kit for Cross-Platform Apps
Building for mobile and web often means managing separate codebases, different styling solutions, and a tangled mess of platform-specific logic. It's a headache that can slow down even the most exciting projects. What if you could share not just business logic, but your entire UI stack—from components to styling—across iOS, Android, and the web?
That's the promise behind the free Takeout Stack from Tamagui. It's an open-source, production-ready starter that packages up a unified React Native and web development experience into one repo.
What It Does
This GitHub repo provides a configured, full-stack monorepo template. It uses React Native for mobile (via Expo) and Next.js for the web, all powered by Tamagui. Tamagui is a UI kit that lets you write your components and styles once, then compile them to highly optimized, platform-specific code. The "Takeout" part means it comes pre-loaded with sensible defaults: authentication, data fetching, navigation, and theming are all set up and working together.
Why It's Cool
The magic is in the unified styling and component system. You write your UI using Tamagui's styled components or its compiler-optimized tamagui primitive. Then, for the web, styles get compiled to efficient CSS. For native, they turn into native views. You get the developer experience of writing once, with the performance of a platform-native output.
Beyond that, this starter removes the "now what?" phase after npx create-expo-app. It includes:
- Authentication: Clerk is integrated and ready to go.
- State & Data: React Query (TanStack Query) handles server state.
- Navigation: Expo Router for file-based routing across mobile and web.
- Deployment: It's configured for easy deployment on services like Vercel.
It's a curated stack that shows how these best-in-class tools can fit together seamlessly, saving you days of configuration.
How to Try It
Getting started is straightforward. Just clone the repo and follow the setup instructions. You'll need Node.js, a package manager like pnpm (which it uses by default), and the Expo Go app if you want to run on a physical device.
git clone https://github.com/tamagui/takeout-free.git
cd takeout-free
pnpm install
Then, check the README.md for detailed steps to set up environment variables and run the dev server for web or native. The project structure is clear, so you can start poking around the code and adding your own features immediately.
Final Thoughts
If you've been curious about building a true cross-platform app with a shared UI core, this is one of the most practical ways to kick the tires. It's not a toy example; it's a real stack with real tooling. You might not use every chosen library, but it serves as an excellent blueprint and a powerful starting point. It demonstrates that the dream of "write once, run everywhere" for both logic and UI is getting closer to reality, without the typical performance trade-offs.
Give it a fork, run the dev server, and see how it feels to style a component that just works—everywhere.
Follow for more interesting projects: @githubprojects
Repository: https://github.com/tamagui/takeout-free