Menu

React Native.

one app, both platforms — when that trade is the right one

React Native is how I put a mobile app in front of a Laravel backend without running two native builds. I've shipped it on three projects: an AI-assisted property inspection app, a golf score tracker with a skill-matched virtual opponent, and a trip planner with map-based route stops. In each, the app is the client and Laravel is the core — the scoring, the ledger, the AI drafting all live server-side, while the app handles capture, display, and staying usable when the network isn't there. That split is deliberate: it keeps the hard logic in one tested place instead of duplicated across two platforms.

Projects shipped
Three
Role in my stack
Mobile client
Pairs with
Laravel API
Best for
Capture & sync apps
Where it shines

Two platforms, one codebase

For an app whose value is the data behind it — scores, inspections, routes — the native gap costs far less than a second codebase would. One team, one design language, half the bugs.

Capture-heavy screens

The inspection app takes photos, video, PDFs and notes section by section. Camera, file pickers and upload state are all handled without dropping down to native code.

Working when the signal dies

Field apps lose signal exactly where the work happens. I've built apps that queue writes locally and reconcile on reconnect, so the inspector keeps working and nothing is lost in a basement.

The same model as the web

It shares React's component model, so logic and design language carry across from the web product rather than being rebuilt by a separate mobile team.

Ecosystem & tools I use with it
ExpoReact NavigationTypeScriptReact Native MapsAsyncStorageSQLiteLaravel + SanctumREST APIsPush notifications
When I reach for it
01
A mobile app beside an existing web product

The app shares logic and design language with the React web side instead of becoming a second, separate build with its own bugs and its own team.

02
Field work that has to survive bad signal

Inspections, site visits, anything done away from a desk. Queue locally, reconcile on reconnect — designed in from the start, not bolted on afterwards.

03
Capture-and-sync apps

Photos, video, GPS, forms and notes go up; the server decides what they mean. That is what all three of my React Native projects have in common.

04
When I would tell you to go native instead

If the app leans on heavy native performance or platform-specific UX — sustained video processing, tight hardware integration, an interface that must feel exactly like the OS — React Native is the wrong trade. Go native. The bridge costs you precisely where those apps earn their keep, and I would rather say so than sell you the cross-platform version.

How it fits together

React Native is never the whole system in my work — it's the client. Laravel owns the domain: scoring, ledgers, AI drafting, auth. The app captures, renders and syncs. That boundary is what keeps the mobile side cheap to change and the logic testable in one place.

The app consumes the same Laravel API used by the web product and integrations — one contract, tested once.
Anything that must be right — scoring, findings, route geometry — is decided server-side, never in the client.
Writes queue locally and reconcile on reconnect: an app that needs signal to work isn't a field app.
Straight answers what clients actually ask
"React Native or native?"

If the app is mostly capture, forms and sync over an API, React Native ships it once instead of twice. If it depends on heavy native performance or platform-specific UX, go native — I'll tell you that rather than take the work.

"Will it feel like a real app?"

For the apps I have built — inspections, score tracking, trip planning — yes. They are real native builds, not web views. The gap shows up in animation-heavy and hardware-heavy work, which is exactly where I would point you elsewhere.

"Can it work offline?"

Yes, if it is designed for it from day one. Queue writes locally, reconcile on reconnect, and decide up front what happens when two people edited the same thing. Adding this later is a rewrite, not a feature.

Work built with React Native
AI-assisted property inspection with media analysis and generated findings a property inspection platform Golf score tracking with a skill-matched virtual opponent a sports app startup Trip planner with route stops, fuel, food and lodging on the map a travel app startup
Official reactnative.dev ↗ Documentation ↗

In my work

Three shipped projects run React Native clients on a Laravel core — including an inspection app where AI drafts findings from photos and video captured in the field.

Discuss a project ↗
More from the stack
Laravel ↗React ↗