wwwwwwwwwwwwwwwwwww

Highlights

What makes Takeout unique

Much of the time spent on Takeout, besides our time spent building Tamagui and One, went into making the details right - extensive scripts, repo-level docs, well-structured code. Details like building the new Motion animation driver and then configuring logged-out static pages to hand off seamlessly from CSS animations to Motion animations took time and aren’t reflected in a feature-list.

Here’s a sample of some interesting work done in Takeout:

Screens
Pro

  1. Feed - Post feed with real-time sync and optimistic updates.
  2. Detail / Comments - Comments with native gallery view and aggregate triggers for counts.
  3. Profile - User profiles with avatar upload and post grid.
  4. Settings - Account settings, blocked users, theme switching.
  5. Onboarding - Multi-step flow with themed slides and animations.
  6. Minio/S3 Image Uploads - Local minio for dev, S3/R2 for production.
  7. Terms and Privacy - Static legal pages.

One

  1. Mixed render modes - static, server-rendered, or client-only pages from the same router, seamlessly route between.
  2. Platform divergence - .native.tsx, .ios.tsx, .android.tsx, .web.tsx suffixes let you share routes but completely diverge UI per platform. Typed one/env with environment/platform constants.
  3. Typed routes - Auto-generated createRoute(), auto-generated routes.d.ts for full type safety on params and links.
  4. LCP optimization - experimental_scriptLoading defers JS loading for optimal Lighthouse scores.
  5. Bundle optimized - Built-in bundle analysis and agentic harness to analyze web performance and lighthouse. Aliases to remove bloat.
  6. Flexible deploy - Deploy to a Hono server, or switch to Vercel or Cloudflare with a single line of config.

Tamagui

  1. Three animation drivers - CSS animations for static web pages (light, fast), Reanimated (native) or Motion (web) spring animation drivers for app pages.
  2. Bundle size optimization - No JS for themes is sent to the client side, CSS is pre-generated and inlined.
  3. v5 Config - Built on the latest version of Tamagui, with great LLM docs on all the new features.
  4. Less re-rendering - v2 Motion and Reanimated animation drivers animate internal changes with 0 re-rendering, for much smoother feeling apps.
  5. Best-in-class themes - No re-render switch on web and native, SSR-friendly, unlimited sub-themes.

Zero

  1. Simplified with over-zero - Avoid writing glue code, validators, and having logic spread over many files with over-zero auto generation.
  2. Server-only permissions - Easy serverWhere() helper makes writing permissions often just a line or two of code.
  3. Mutation setup - Hard-fought setup for mutators that gives you good structure, common patterns of usage, and great LLM docs around DOs and DON’Ts.
  4. Logging - Well set up logging, error tracking, and debug modes for figuring out what’s going on.
  5. Platform storage - IndexedDB on web, SQLite on native, memory for anonymous users.
  6. Streamlined Deploy
    Pro
    - Automated restart and migrate progress for seamless deploys to production.

Better Auth

  1. Onboarding
    Pro
    - Full auth setup with onboarding flow, OTP, multi-step profile setup.
  2. Zero Compatible - Set up to work automatically with our Zero setup.
  3. Phone-first signup - generates temp email for phone-only users
  4. Public/private profile system - works well with Zero by splitting public and private user information, then gluing together things nicely on the frontend.
  5. Invite system - whitelist + invite codes with use limits and expiration

Drizzle

  1. Public/private schema split - public tables sync via Zero, private stay server-only
  2. PostgreSQL triggers - denormalized counters maintained at database level
  3. Custom migration runner - creates Zero’s three databases automatically
  4. Improved migrations - A lightweight migration system built on top of Drizzle that lets you easily write custom up migrations alongside your auto-generated ones with a single command to create or run, and designed to build properly for Lambda environments if deploying with SST.

Uncloud

  1. Any VPS - Deploy to any server with Docker and SSH access.
  2. Rolling deploys - new instances spin up before old ones terminate.
  3. Encrypted config sharing - team can share deployment credentials securely.

AWS
Pro

  1. SST infrastructure - Full AWS deployment with ECS, Aurora, and S3.
  2. Auto-scaling - Aurora serverless and ECS auto-scaling for handling load.
  3. Zero replication config - Aurora with logical replication, WAL retention tuned for sync.
  4. Git push deploys - Push to main triggers deploy with health checks and env-specific scripting.
  5. Graviton support - ARM64 builds for ~40% cost savings.

CI/CD

  1. Commit-gated native builds - native: prefix in commit triggers expensive iOS/Android builds.
  2. Highly parallel - Under 10 minutes to fully deployed without caching including building and uploading images, running integration tests, and monitoring health of the final deploy.
  3. Expo fingerprint caching - JS-only changes skip native rebuild entirely.
  4. Auto OTA deploys
    Pro
    - hot updates deploy automatically after CI succeeds on main.

Scripts

  1. Tons of custom scripts - A ton of Bun scripts from syncing environment, monitoring health and deploys, shelling into dev/prod servers/databases, easily running CI/CD, and more.
  2. Local overrides - your ./scripts/ shadows built-in scripts.
  3. Parallel runner - color-coded output with CPU-aware concurrency.
  4. AI-assisted sync - tko sync to sync with latest Takeout changes, loads prompt and spawns claude/cursor/aider.

Environment

  1. Bun - Fast installs and CI/CD thanks to bun used for installs + scripts.
  2. Smart env management
    Pro
    - Scripts to automate syncing env vars to/from GitHub secrets, pull from SST/production, and thread into every service.

Edit this page on GitHub.