Tech Stack
Shared (Web + Mobile)
Section titled “Shared (Web + Mobile)”| Technology | Purpose |
|---|---|
| Bun | Runtime and package manager |
| Supabase (PostgreSQL) | Cloud database |
| PowerSync + TanStack DB | Offline-first sync layer |
| Zustand | UI state management |
| Zod | Schema validation |
| date-fns / dayjs | Date utilities |
| TanStack Pacer | Debounce/Throttle (never use manual setTimeout) |
Web (apps/web)
Section titled “Web (apps/web)”| Technology | Purpose |
|---|---|
| TanStack Start | Framework (SSR + React 19 + TanStack Router) |
| TanStack Query | Async state management (alongside TanStack DB) |
| TanStack Table | Data tables |
| TanStack Virtual | List/table virtualization |
| Mantine v9 | UI component library |
| Tabler Icons | Icon library (@tabler/icons-react) |
| Recharts + Mantine Charts | Charts and data visualization |
| @dnd-kit | Drag and drop |
| react-arborist | Tree views |
| react-joyride | Onboarding tours |
| i18next | i18n for public routes |
| useIntl hook | i18n for protected routes |
| Sentry | Error monitoring |
| vite-plugin-pwa | Progressive Web App support |
Mobile (apps/mobile)
Section titled “Mobile (apps/mobile)”| Technology | Purpose |
|---|---|
| Expo SDK 55 | Framework |
| React Native | UI layer |
| Expo Router | File-based routing |
| React Navigation | Navigation (bottom-tabs, drawer) |
| HeroUI Native | UI component library |
| Uniwind (Tailwind CSS v4) | Styling |
| React Native Reanimated | Animations |
| React Hook Form + Zod | Form handling and validation |
| @gorhom/bottom-sheet | Bottom sheets |
| @expo/vector-icons | Icon library |