Skip to content
All resources
getting-started

Mobile app store launch

Checklist for submitting the Lanlord native app to Google Play and the Apple App Store.

Use this guide when submitting the native Expo app (apps/mobile) to Google Play and Apple App Store.

Prerequisites

  • Expo account with EAS access
  • Google Play Console app (com.lanlord.app)
  • Apple Developer Program (for iOS)
  • Production API URL configured in EAS secrets: EXPO_PUBLIC_API_BASE_URL
  • OAuth redirect URIs registered for mobile:
    • Google: lanlord://oauth/callback
    • Microsoft: lanlord://oauth/callback

EAS setup

bash scripts/mobile/setup-eas.sh

Or manually:

cd apps/mobile
pnpm exec eas login
pnpm exec eas init

Link the project ID into app.config.ts via EAS_PROJECT_ID or Expo dashboard.

Build profiles

ProfilePurposeCommand
developmentDev clientpnpm exec eas build --profile development --platform android
previewInternal APKpnpm exec eas build --profile preview --platform android
productionStore releasepnpm exec eas build --profile production --platform android

Google Play (NM8)

Listing copy (draft)

Short description: Pay rent, submit maintenance with photos, and message your property manager — one app for tenants, staff, and field workers.

Full description highlights:

  • Tenants: pay rent, ledger, maintenance with camera, documents, messages
  • Renters: cross-org hub inbox and pay
  • Field workers: jobs, photos, schedule
  • Landlords/PMs: glance metrics, maintenance triage, inbox, tenant lookup

Required assets

  • App icon (512×512) — ./assets/images/icon.png
  • Feature graphic 1024×500
  • Phone screenshots: tenant pay, maintenance create, field job, staff glance
  • Privacy policy: https://lanlord.ai/privacy (or your site /privacy)

Release steps

  1. Create app in Play Console with package com.lanlord.app
  2. Upload internal testing build from EAS
  3. Complete Data safety form (account, financial, photos)
  4. Promote to closed testing → production
pnpm exec eas submit --platform android --profile production

Apple App Store (NM9)

  1. Create App Store Connect record (bundle com.lanlord.app)
  2. TestFlight internal build: pnpm exec eas build --profile production --platform ios
  3. Submit: pnpm exec eas submit --platform ios --profile production
  4. Add Sign in with Apple if Google OAuth is offered on iOS
  5. Configure Associated Domains for app.lanlord.app universal links (optional v1.1)

Push notifications

  • Expo Push handles FCM/APNs delivery
  • Schedule daily rent reminder job: enqueue mobile-rent-due-reminders on the notifications BullMQ queue
  • Verify on physical device: message push, job assigned push, rent due push

Pre-submit device checklist (NM10)

Run on one iPhone and one Android — see the NM10.1 table in the native mobile plan doc.

Environment variables

VariableWherePurpose
EXPO_PUBLIC_API_BASE_URLEAS secretsAPI origin
EXPO_PUBLIC_APP_URLEAS secretsDesktop browser link in staff More
EAS_PROJECT_IDEAS / app.configPush token project binding
GOOGLE_STAFF_MOBILE_REDIRECT_URIAPI .envOAuth mobile callback
MICROSOFT_STAFF_MOBILE_REDIRECT_URIAPI .envOAuth mobile callback