Compatibility Matrix

The single checked capability matrix for all eight SoarStarter templates.

This matrix is rendered from the checked-in typed compatibility dataset used by documentation tests. It describes the current v1 platform boundary; a checkmark for Unified does not imply identical platform features.

TemplateUnified roleModesAuthenticationSession storageCore dataSubscriptionsNotificationsRestrictions
Next.jsHostStandalone + UnifiedBetter Auth: email/password and configured web OAuthServer-managed database session; secure web cookieProfiles, todos, presigned uploads, account deletionCreem or Stripe; RevenueCat webhook bridgeAPNs and FCM token registry; APNs test endpointHost implementation of the frozen Soar App API v1 contract
NuxtHostStandalone + UnifiedBetter Auth: email/password and configured web OAuthServer-managed database session; secure web cookieProfiles, todos, presigned uploads, account deletionWeb checkout; RevenueCat webhook bridgeAPNs and FCM token registry; APNs test endpointConforming host; framework internals differ from Next.js
TanStack StartHostStandalone + UnifiedBetter Auth: email/password and configured web OAuthServer-managed database session; secure web cookieProfiles, todos, presigned uploads, account deletionWeb checkout; RevenueCat webhook bridgeAPNs and FCM token registry; APNs test endpointConforming host; framework internals differ from Next.js
SwiftClientStandalone + UnifiedEmail/password and OTP; native Apple and GoogleiOS KeychainProfiles, todos, uploads, account deletionRevenueCat / App Store plus shared web entitlementAPNs registration and current-user test pushiOS; native OAuth audiences must match the active host deployment
KotlinClientStandalone + UnifiedEmail/password and OTP; Google Credential ManagerAndroid Keystore-backed secure storageProfiles, todos, uploads, account deletionRevenueCat / Google Play plus shared web entitlementFCM token registration; Unified test push unavailableNo Apple login; frozen v1 test-push operation is APNs-only
ExpoClientStandalone + UnifiedEmail/password and OTP; Apple on iOS, Google on nativeExpo SecureStore on iOS and AndroidProfiles, todos, uploads, account deletionRevenueCat / App Store / Google Play plus web entitlementAPNs/FCM registration; Unified test push on iOS onlyUnified is native-only; Expo Web is Standalone and email-auth only
ElectronClientStandalone + UnifiedEmail/password and OTP; no social OAuthMain-process-only encrypted safeStorage namespaceProfiles, todos, uploads, account deletionCreem checkout plus shared web entitlementNot implementedmacOS, Windows, Linux; renderer never receives bearer tokens or signed URLs
TauriClientStandalone + UnifiedEmail/password and OTP; no social OAuthRust-private OS keyring namespaceProfiles, todos, uploads, account deletionCreem checkout plus shared web entitlementNot implementedmacOS, Windows, Linux; Webview cannot access bearer tokens or signed URLs

Read the exceptions first

  • Expo Web supports Standalone only. A Unified Expo build on Web fails explicitly and never falls back to Supabase.
  • Kotlin and Expo Android register FCM tokens, but the frozen v1 current-user test-push endpoint is APNs-only.
  • Apple and Google support follows the native platform and the active host deployment's OAuth audience configuration.
  • Electron and Tauri use different secure desktop stores and keep Unified networking outside the renderer/Webview.
  • Web templates are hosts, not App API client implementations.

On this page