Mobile app development guide
Can Vibe Coding Build Camera, Push and Subscription Features?
Yes. An AI-built React Native app can implement camera access, location, push notifications, biometric authentication, subscriptions and local data using native libraries and services. Each feature still needs configuration, permissions and testing. A generated screen or simulator preview does not establish that the complete feature works on a physical phone.[1][2][3][4][5][6]
Reviewed . The capability matrix is based on Expo SDK and Newly product documentation. It describes available implementation paths, not completed device tests or a guarantee that every builder configures them. Use documentation for your project's SDK version. Published by Newly.
Which native features can an AI-built mobile app implement?
Every row below has a documented React Native or Expo implementation path. No project-specific physical-device test was performed for this article. The last column is the evidence to collect before marking your own implementation as working.
Swipe the table to see every column.
| Feature | Documented implementation path | Setup to verify | Evidence to collect on a phone |
|---|---|---|---|
| Camera and barcode scanning[1] | Expo Camera provides camera preview, photo and video capture, and barcode detection. | Camera permission, any microphone permission needed for video, and a build containing the library. | Capture a real image; deny permission; reopen the app and confirm the saved result is usable. |
| Location[2] | Expo Location supports reading a position and receiving updates. | Foreground permission; background tracking needs additional configuration and platform-specific permissions. | Read the actual device location, handle refusal and check behavior when the app changes state. |
| Push notifications[3] | Native notification APIs work with delivery credentials and a notification service. | Device registration, delivery credentials, permission and a native build with the integration. | Receive a remote push and open the intended screen from foreground and background states. |
| Face ID and fingerprint unlock[4] | Expo LocalAuthentication calls the device's biometric authentication APIs. | Compatible hardware, enrolled biometrics and required usage descriptions. Face ID needs a development build for testing. | Authenticate, cancel, and try a device without enrolled biometrics. Verify the fallback behavior. |
| Subscriptions and in-app purchases[5] | Native purchase libraries can connect the app to store billing and services such as RevenueCat. | Store products, entitlement mapping, native configuration and a suitable test environment. | Complete a test purchase, cancel the purchase dialog and restore access after reinstalling. |
| Offline local data[6] | Expo SQLite stores a local database that persists across app restarts. | Decide what is stored locally and how pending changes will sync when a connection returns. | Save an entry in airplane mode, restart the app and reconnect without losing or duplicating it. |
Can vibe coding add a camera and real location?
Yes, when the generated mobile project includes the relevant native libraries. Expo Camera supports capturing media and detecting barcodes. Its iOS and Android camera support is marked device-only, so a camera screen in a cloud simulator is insufficient evidence of real capture. Test on the phone and verify both successful capture and the permission-denied state.[1]
Location needs a separate permission flow. Showing a map does not verify that the app can read the user's position. Background location adds platform configuration and permissions beyond foreground access. State whether the requirement is a one-time location lookup, live foreground tracking or background tracking before asking the agent to implement it.[2]
Can an AI-built app send real push notifications?
Yes, with device registration, permission, delivery credentials and a configured service. Expo documents remote push support through native notification APIs. On Android, remote notifications are unavailable in Expo Go from SDK 53 onward, so that test requires a development build. A local scheduled reminder and a push sent from a server are different flows.[3]
Newly documents a OneSignal connection card for adding push notifications in a Remote chat, with owner or admin setup. Use the current product flow, then send a test that reaches a real installation. Check what happens when the user taps it and whether the app opens the correct destination.[9]
Can vibe-coded apps use Face ID or fingerprints?
React Native apps can use native biometric authentication through a library such as Expo LocalAuthentication. Availability depends on the device and enrolled biometric data. Expo explicitly requires a development build to test Face ID on iOS because that flow is not supported in Expo Go. Specify whether the feature unlocks the local app or confirms a sensitive action, and define a fallback for cancellation or unavailable hardware.[4]
Can vibe coding build working subscriptions?
Yes, but a paywall screen is only part of the implementation. Expo documents native purchase libraries, including RevenueCat's React Native SDK, and notes that purchase libraries need native configuration and a development build. Verify that the store product maps to the intended entitlement and that premium access follows the purchase result.[5]
Newly documents a RevenueCat connection card for subscriptions and paywalls in Remote chats, connected by an organization owner or admin. After configuration, test a purchase, the restore path and access after the subscription state changes. Our subscription walkthrough explains how to define the expected states before building.[9]
Can an AI-built mobile app work offline?
A mobile app can store data locally. Expo SQLite, for example, persists a database across restarts. That establishes a local-storage option; synchronizing it with a server still needs an explicit design. Define which records remain readable, which actions queue and what should happen when two devices change the same record.[6]
A useful acceptance test is a diary entry created in airplane mode. Close the app, reopen it, confirm the entry remains, then restore the connection. Record whether it appears on another device and whether reconnecting duplicates the record. A loading spinner or an in-memory list does not prove persistence.
What should you ask the coding agent to verify?
Ask for one feature at a time, with an observable outcome and a failure case. Record the app version, platform, device, dependency and result. Mark a feature documented when a source supports it, implemented when code exists, and device-tested only when its behavior has been checked on the relevant phone. Keep unrun cases clearly marked.
Newly's public documentation describes native development builds running in cloud simulators. These previews are useful for iterating on navigation and screens. Hardware access, real push delivery and purchase behavior need their own suitable tests. Use native development builds when your dependency requires native code or configuration beyond Expo Go.[8][7]
Implement one native feature: [describe the feature and user outcome].
Name the library and required permissions or service configuration. Use versions compatible with this project.
Acceptance cases: successful use, permission denied or user cancellation, app restart, and the relevant offline or background state.
Run the cases available in this environment. For each, report the platform, build and observed result. Mark cases requiring a physical device or store test setup as not run until tested there. Do not replace native behavior with a visual mock.Frequently asked questions
Can vibe coding build apps with native phone features?
Yes. An AI-built React Native project can use native libraries for camera access, location, notifications, biometrics, purchases and local data. The project still needs compatible dependencies, configuration, permissions and tests. SDK support does not guarantee that every AI builder has implemented or verified the feature.
Can I verify a camera feature in a cloud simulator?
A simulator can help inspect the screen and permission handling, but Expo Camera lists iOS and Android camera support as device-only. Verify actual capture, saved media and failure behavior on a physical phone before marking the feature as working.
Can I test push notifications in Expo Go?
Expo says remote push notifications on Android are unavailable in Expo Go from SDK 53 onward and require a development build. Local scheduled notifications are a different feature. Test your own app's registration, delivery and tap behavior using the environment required by its notification integration.
Does Face ID work in Expo Go?
Expo's LocalAuthentication documentation says Face ID on iOS is not supported in Expo Go and requires a development build for testing. The phone also needs compatible hardware, enrolled biometrics and the required configuration.
Does generating a paywall mean subscriptions are ready?
No. Confirm store product setup, native purchase integration and entitlement mapping. Then test purchasing, cancellation and restoring access in the appropriate store test environment. A paywall screen alone does not establish that billing or premium access works.
What is the difference between documented and device-tested support?
Documented support means a product or library describes an implementation path. Device-tested support means someone has run the relevant feature in a specific app build on the target phone and recorded its result. This article is based on documentation and does not claim completed physical-device tests.
Sources and review date
Sources reviewed 30 October 2026. Product capabilities and plan requirements can change; check the linked source before choosing a plan.
- Expo Camera: capabilities and device-only mobile support
- Expo Location: location access and background requirements
- Expo Notifications: remote push and development-build requirements
- Expo LocalAuthentication: biometrics and Face ID testing
- Expo: native in-app purchase libraries
- Expo SQLite: local data persistence
- Expo: native libraries in development builds
- Newly: native cloud simulators and physical-device testing
- Newly: OneSignal and RevenueCat setup