/react-native-cloudflare-starter

Type-Safe, Full-Stack Starter Kit for React Native + Web.

Primary LanguageTypeScriptMIT LicenseMIT

Logo of Create T4 App

create-t4-app

Interactive CLI to start a full-stack, typesafe, universal Expo & Next.js app on Cloudflare's edge platform.

Get started with the T4 Stack by running bun create t4-app

Join the T4 discord community   Weekly downloads for create-t4-app on npmjs.org   VSCode Extension Installs

๐Ÿ” The T4 Stack

The T4 Stack is a universal web and native stack made by Tim Miller focused on developer experience, rapid development, and performance.

Easy integration with Cloudflare services, such as R2 & D1 enable developers to build apps with AI-powered features at a lower cost compared to AWS.

Ship it today and witness 6 second package install times & 30 second backend deployments.

๐Ÿ‘‰ Further documentation can be found on the T4 Stack website. ๐Ÿ‘ˆ


T4 is compatible with Cloudflare Pages   T4 uses Next.js   T4 uses Expo   T4 is written in TypeScript

๐Ÿ“ UI Kit

๐Ÿ”ฎ Frontend

๐Ÿ“ก Data Fetching

๐Ÿ“ˆ Performance Improvements

  • ๐Ÿ’จ Million.js
    • Virtual DOM replacement for React
    • Achieve SolidJS-like performance with React
  • ๐ŸŽ‚ PattyCake
    • Zero-runtime pattern matching with ts-pattern

โœ… Type Validation

๐Ÿงญ Router

๐Ÿข Global State Management

โš™๏ธ Backend

๐Ÿ”’ Authentication

๐Ÿ“– Background

T4 is a project starter kit for building type-safe, native & web applications in TypeScript using Tamagui, tRPC, and Tauri. Deploy to Cloudflare for a global edge network. All at a fraction of the cost of AWS, Vercel, or Azure.

It provides a unified, opinionated, & minimalistic setup for quickly getting started with building native & web apps, using the same code, without having to worry about the complexities of setting up a development environment.

๐Ÿ’ช Build Apps for All Platforms

  • ๐Ÿ“ฑ iOS
  • ๐Ÿค– Android
  • ๐Ÿ•ธ๏ธ Web
    • Progressive Web App (PWA) support
    • ๐Ÿ’ป macOS
    • ๐ŸชŸ Windows
    • ๐Ÿง Linux
  • ๐Ÿงช (Experimental) Desktop support via Tauri

Build native apps for iOS, Android, macOS, Windows, and Linux using the same codebase.

Never worry about using XCode or Android Studio again

Android Studio   XCode

๐Ÿš€ Quick Start

Basic Setup

bun v1.0 is required to use create-t4-app

bun is required to use `create-t4-app`

To scaffold an app using create-t4-app, run any of the following commands.

bun

bun create t4-app

Tauri

If you would like to use Tauri use:

bun create t4-app --tauri

โ“ Why T4?

T4 is the result of extensive research and testing to identify the best libraries for React Native and Web development. We've done the hard work for you, so you can focus on building amazing apps without worrying about performance bottlenecks.

Whether you're developing a mobile app with React Native or a web app using React, T4 is the perfect choice. Our template is designed to seamlessly integrate with your existing projects, making it easy to enhance performance without starting from scratch.

๐Ÿš… Performance

  • ๐Ÿ‘‰ 6 second package install time

  • ๐Ÿ‘‰ 30 second backend deployments

  • ๐Ÿ‘‰ 90 second frontend deployments

  • Small learning curve

  • Instant feedback, rapid development

  • Universal across React Native & React Web

  • High code re-use

  • Low bundle size

  • Edge compatible

  • Fast startup time

  • Simple setup

  • Allows for platform-specific code when needed.

๐Ÿ“ฆ What's Included

  • Tamagui - A UI kit for building beautiful and responsive user interfaces.
  • TanStack - High-quality open-source software for React developers.
  • tRPC - A TypeScript framework for building end-to-end typesafe APIs.
  • TypeScript - A typed superset of JavaScript that compiles to plain JavaScript.

๐Ÿงฉ VSCode Extension

The VSCode extension is optional but highly recommended. It provides a better developer experience by providing code actions to help you scaffold your app. You can find more info in the docs or install it from the VSCode Marketplace.

โœจ Features

  • โœ… 6 second package install time
  • โœ… 30 second backend deployments
  • โœ… 90 second frontend deployments
  • โœ… Tamagui UI kit across all platforms.
  • โœ… Bun support
  • โœ… Million.js Support
  • โœ… PattyCake Support
  • โœ… Valibot Support
  • โœ… Generate Valibot Type Guards from your Drizzle Schema
  • โœ… Supabase Auth
  • โœ… Uses Next.js for building web apps.
  • โœ… Uses Expo for building native mobile apps.
  • โœ… PWA by default for native desktop support. No Electron required.
  • โœ… Uses Cloudflare Workers for serverless functions.
  • โœ… No Docker containers required.
  • โœ… Uses tRPC & Tanstack Query for fetching & caching across all platforms.
  • โœ… Authentication across all platforms.
  • โœ… Powered by TypeScript for type safety and better developer experience.
  • โœ… Comes with pre-configured Biome for lightning fast code consistency.
  • โœ… Github Action publishing for Expo apps
  • โœ… Database migration in CI/CD
  • โœ… Tauri Support

โญ Wish List

๐Ÿ‘‰ The wish list has moved to the docs website.

๐Ÿ’ฌ Community

For help, discussion about best practices, or any other conversation that would benefit create-t4-app:

Join the T4 Discord Server

๐Ÿซถ Contributors

We welcome contributions from anyone and everyone. Please read our contributing guidelines for more information on how to get started.

๐Ÿ‘ Special Thanks

โš–๏ธ License

Create T4 App is licensed under the MIT License.