Vexpo
Open-source iOS template. Convex on Expo.
Vexpo is an iOS template that wires Expo, Convex, and Better Auth together so you don't have to set the same stack up by hand on every new project.
Source: github.com/ramonclaudio/vexpo
[stack]
- Expo SDK 56: React Native 0.85, async routes, native tabs, native SwiftUI via @expo/ui.
- Convex: Real-time backend with reactive queries and component composition.
- Better Auth: Email + password, email OTP, Apple Sign In, sessions, rate limits.
- Resend: Transactional email with auto-provisioned scoped key + webhook.
- EAS: Submit + workflows for production, preview, TestFlight, OTA updates.
[features]
- Sign-up / sign-in with email + password, OTP verification, Apple Sign In
- Push notifications via APNs with token registration on sign-in
- Universal links + deep-link routing with allowlist
- Profile editing with avatar uploads to Convex storage
- Items demo: create, complete, search with full-text indexing
- Active sessions screen with device-by-device revocation
- Welcome / onboarding on first launch
- Theme switching (system / light / dark) with persisted preference
- Rate limiting on every auth endpoint
- OTA updates via EAS Update with fingerprint-based gating
- iOS only. No NativeWind or Tailwind here.
[get started]
-
bun install: install deps -
bun run setup: Convex + Better Auth + Resend + Apple + EAS, interactively -
eas credentials -p ios: wire iOS credentials once -
bun run setup:asc: wire ASC API key for `eas submit` -
bun run convex:dev: terminal 1 -
bun run ios: terminal 2