X
Github
Discord
basecoat
Privacy Policy•Terms of Service•Cookie Policy•Help
Introduction
Highlights
wwwwwwwwwwwwwwwwwww
PreviousIntroduction
NextOverview

Edit this page on GitHub.

Highlights

What makes Takeout unique

NOTE: this is a placeholder

One

  1. Platform divergence - .native.tsx, .ios.tsx, .android.tsx, .web.tsx suffixes let you share routes but completely diverge UI per platform
  2. Mixed render modes - static (+ssg.tsx), server-rendered, or client-only pages from the same router
  3. Typed routes - createRoute() with auto-generated routes.d.ts for full type safety on params and links
  4. Native navigation - withLayoutContext() wraps react-navigation for native tab bars, headers, and gestures
  5. API routes - +api.ts suffix with typed endpoints, catch-all patterns
  6. LCP optimization - experimental_scriptLoading: 'after-lcp-aggressive' defers JS until after paint

LiveStore

  1. Local-first reads - feature screens query local SQLite read models through LiveStore
  2. Event-sourced writes - app state changes are explicit domain events
  3. Cloudflare sync - Durable Objects provide the shared sync backend
  4. Feature-owned data hooks - UI modules consume domain data without coupling to store infrastructure
  5. Offline-friendly workflows - collection and painting flows stay responsive while sync catches up

Tamagui

  1. Dual animation drivers - CSS animations for static pages (lighter), spring physics for app pages (smoother)
  2. Theme-conditional styles - $theme-dark and $theme-light props directly in styled()
  3. Group selectors - $group-button-hover for parent-scoped state without prop drilling
  4. Client-side theme hydration - themes load from CSS variables, not JS bundle

Better Auth

  1. Cross-platform sessions - shared auth client for web and native
  2. Phone-first signup - generates temp email for phone-only users
  3. Database hooks - auto-creates public profile and user state on signup
  4. Invite system - whitelist + invite codes with use limits and expiration

Drizzle

  1. Public/private schema split - public and private server tables remain explicit
  2. PostgreSQL triggers - denormalized counters maintained at database level
  3. Migration runner - keeps server schema changes reviewable and reproducible

SST / Cloudflare

  1. Cloudflare home - SST manages the Cloudflare deployment target
  2. Durable Object sync - LiveStore sync backend runs close to users
  3. R2 media storage - uploaded media stays out of the event log
  4. Wrangler local dev - sync backend can run locally during development

CI/CD

  1. Commit-gated native builds - native: prefix in commit triggers expensive iOS/Android builds
  2. Expo fingerprint caching - JS-only changes skip native rebuild entirely
  3. Auto OTA deploys - hot updates deploy automatically after CI succeeds on main

Scripts

  1. Local overrides - your ./scripts/ shadows built-in scripts
  2. Parallel runner - color-coded output with CPU-aware concurrency
  3. AI-assisted sync - tko sync loads prompt and spawns claude/cursor/aider

Environment

  1. Single source of truth - package.json env section generates server exports and CI config
  2. SST state integration - pull production env vars from deployed AWS resources