Lovable App to iOS/Android Conversion

Job ID: 40224053

Budget: $250 – $750 AUD

I have built an app using lovable and want it now turned into an app on ios and android.

It doesn't need to go in the app store, it can be published via test flight for iOS \packaged as an apk for android as it only needs to be used by about 100 users.

Ideally we will be able to update code in github and the apps will update on the devices, but i understand if this is not possible.

App will need permissions for GPS, using the camera, saving photos to the local library and push notifications.

Frontend: React 18 + TypeScript, built with Vite, styled with Tailwind CSS and shadcn/ui (Radix UI components)
Backend: Supabase (hosted PostgreSQL database, authentication, file storage, and Edge Functions written in Deno/TypeScript)
Routing: React Router v6 (single-page app)
State Management: React Query (TanStack Query) for server state, React Context for auth and GPS tracking
What's Already Done for Native Deployment
Capacitor is pre-configured (capacitor.config.ts):

App ID: app.lovable.c1b8150bb65a4bf8847d9a6935616c8d
App Name: drive-smart-log
Web directory: dist (Vite build output)
Currently configured with a remote server URL for hot-reload during development — this should be removed for production builds so the app loads from the bundled dist folder instead
CapacitorHttp plugin enabled for native HTTP requests
Capacitor native plugins already installed:

@capacitor/core + @capacitor/cli v7.4.2
@capacitor/ios v7.4.2
@capacitor/android v7.4.2
@capacitor/camera v7.0.2 (for native camera access)
@capacitor/filesystem v8.0.0 (for saving photos to device)
PWA infrastructure in place (also benefits native):

Service worker (public/sw.js) with network-first caching, push notification handling, and periodic GPS sync
Web manifest (public/manifest.json) with icons and standalone display mode
iOS-specific meta tags in index.html (apple-mobile-web-app-capable, etc.)
Permissions the app uses:

Camera — for capturing job photos, checklists, receipts
Location/GPS — continuous tracking during active jobs
Push Notifications — for new messages and job updates
File System — saving photos to device gallery
Wake Lock — keeping screen on during GPS tracking
What the Developer Needs to Do
Clone the repo, run npm install
Add native platforms: npx cap add ios and npx cap add android
For production builds: Remove the server.url from capacitor.config.ts so the app loads from the local dist bundle
Build: npm run build then npx cap sync
iOS (Xcode required):
Add NSCameraUsageDescription, NSLocationWhenInUseUsageDescription, NSLocationAlwaysUsageDescription, and NSPhotoLibraryAddUsageDescription to Info.plist
Configure signing with an Apple Developer account
npx cap open ios to open in Xcode
Android (Android Studio required):
Camera, location, and storage permissions are needed in AndroidManifest.xml (some may already be added by Capacitor plugins)
npx cap open android to open in Android Studio
Push Notifications: Will need platform-specific setup (APNs for iOS, FCM for Android) — the web push infrastructure exists but native push requires additional configuration
App Store / Play Store: Set up app icons, splash screens, and store listing metadata
Key Architecture Notes for the Developer
The app communicates with Supabase for all data — there's no custom backend server to deploy
Edge Functions (in supabase/functions/) handle server-side logic like GPS beacons, push notifications, receipt OCR, and route calculations
Authentication uses Supabase Auth (email-based)
The app is mobile-first in design and already handles portrait orientation