Skip to content

Mobile Conventions

Shared DB types — Always import from @life-manager/db:

import { AppSchema } from "@life-manager/db/schema";
import { Tables } from "@life-manager/db/supabase";
import { Profile, ProfileUpdate } from "@life-manager/db/types/profile.types";

Never create local type files that duplicate @life-manager/db types.

React Native StyleSheet and built-in components. No Mantine (web-only).

Expo Router with file-based routing in src/app/. Follows Expo Router v6 conventions.

@/* maps to ./src/* (same convention as web app).

Always prefer Expo-compatible native packages over third-party alternatives.

Use CasePackage
Date/Time Picker@expo/ui SwiftUI DatePicker (iOS only)
Hapticsexpo-haptics
Icons@expo/vector-icons (Ionicons, MaterialIcons, etc.)

Check the Expo docs for recommended packages before adding third-party dependencies.