Tech Stack
We choose tools based on what ships great products, not trends. This is what we reach for.
Mobile
| Technology | What it is | How we use it |
|---|---|---|
| React Native | Cross-platform mobile framework | All iOS + Android apps — single codebase, native performance |
| Expo SDK 53 | React Native toolchain + APIs | Build pipeline, OTA updates, device APIs (camera, AR, notifications) |
| TypeScript | Typed JavaScript | All projects — catches entire classes of bugs at compile time |
| Expo Router | File-based navigation | Screen routing, deep linking, universal links |
| React Native Reanimated 3 | Native-thread animations | 60fps animations without blocking the JS thread |
| Zustand | Lightweight state management | Client-side game state, session state |
| RevenueCat | In-app purchase management | Cross-platform subscription and one-time purchase handling |
| ViroReact + Expo AR | AR framework | Board anchoring, AR family tree overlays |
| EAS | Cloud build + OTA | Production builds, TestFlight/Play Console distribution, over-the-air updates |
Web
| Technology | What it is | How we use it |
|---|---|---|
| Next.js 15 | React framework with App Router | All web platforms — SSG for marketing, SSR for dynamic data |
| React 19 | UI library | Component model, concurrent rendering, server components |
| TypeScript | Typed JavaScript | All web projects — end-to-end type safety |
| Tailwind CSS v4 | Utility-first CSS | All styling — no custom CSS files |
| shadcn/ui | Accessible component library | UI components built on Radix primitives |
| Motion (Framer Motion v12) | Animation library | Page transitions, scroll animations, micro-interactions |
| TipTap | Rich text editor | Forum posts, memoirs, heritage documentation |
| Drizzle ORM | Type-safe SQL ORM | Database queries with full TypeScript inference |
| tRPC | End-to-end type-safe API | Internal API layer where REST would be over-engineered |
Backend & Data
| Technology | What it is | How we use it |
|---|---|---|
| Supabase | PostgreSQL + Auth + RLS + Realtime | Multi-tenant SaaS backends — data isolation via RLS policies |
| Neon | Serverless Postgres | Lightweight projects that don't need the full Supabase surface area |
| Firebase Firestore | NoSQL realtime database | Real-time sync (PresentPro) — sub-100ms propagation to connected clients |
| Cloudflare R2 | Object storage | Media, documents, exports — S3-compatible, no egress fees |
| Cloudflare Workers | Edge compute | Middleware, geo-routing, lightweight API at the edge |
AI & Intelligence
| Technology | What it is | How we use it |
|---|---|---|
| Claude API (Anthropic) | Large language model | AI personas, post-game coaching, memoir assistants, family historians |
| Vercel AI SDK | AI integration toolkit | Streaming responses, tool use, provider switching |
| Whisper | Speech-to-text | Voice note transcription in Heritage |
Auth, Email & Payments
| Technology | What it is | How we use it |
|---|---|---|
| Supabase Auth | Authentication service | Email/password, magic link, Google OAuth — all projects |
| Clerk | Auth + user management | Projects requiring advanced org management and user profiles |
| Resend | Transactional email | Invites, billing alerts, contact notifications — React Email templates |
| Stripe | Payment processing | Web subscriptions, Checkout, Customer Portal, Webhooks |
| RevenueCat | Mobile payments | iOS + Android in-app purchases and subscriptions |
Infrastructure & Monitoring
| Technology | What it is | How we use it |
|---|---|---|
| Vercel | Deployment platform | All Next.js deployments — preview branches, edge network |
| GitHub Actions | CI/CD | Automated testing, linting, deployment triggers |
| EAS Build | Mobile CI/CD | Cloud builds for iOS + Android, TestFlight/Play Console delivery |
| Sentry | Error tracking | Runtime error monitoring across web and mobile |
| PostHog | Product analytics | Feature usage, funnel analysis, session replays |
| Vitest | Unit testing | Fast unit and integration tests |
| Playwright | E2E testing | Browser automation for critical user flows |
| Detox | Mobile E2E testing | End-to-end testing on iOS and Android simulators |