schedule a call
← All posts

Real-Time Geolocation in Production: The My Home Delivery Build at SEM Nexus

May 27, 2026by Marco CoronadoTechnology
Earth seen from space at night with city lights — the scale of real-time location at production.

Real-time driver location tracking is the feature that founders demo on slide 4 of their pitch deck and that breaks in week 2 of a real deployment. Battery drain. Background-mode restrictions. iOS-vs-Android divergence. Network flakiness. Permission UX. Privacy regulations. Multi-party visibility. Every one of those is a separate engineering problem, and every one of them is what kills the average "we'll figure it out" location implementation.

SEM Nexus shipped the My Home Delivery location stack clean. Customers see the driver on the map in real time. Drivers see the next job, the route, the navigation. The platform owner sees every active driver, every active job, every aggregate metric. The system has been running in production for two years without driver-side revolt or customer-side trust collapse. This is how that worked technically.

What "real-time location" actually requires

The phrase is deceptive. A real production location stack has at minimum five subsystems:

  1. Foreground location streaming. While the driver has the app open and is actively delivering, the device emits location updates at a high cadence (1–5 second intervals).
  2. Background location. When the app is backgrounded but the driver is on a job, the OS has to keep the location stream alive. iOS and Android handle this differently, both restrictively.
  3. Server-side ingestion + fan-out. The customer's app needs to see the driver moving in near-real-time. That means the backend has to receive each update, persist what matters, and push the rest to subscribers.
  4. Map rendering on the client. Customer-side map showing driver location, route progress, ETA.
  5. Permission UX and graceful degradation. When the user denies location, when the OS revokes it, when the driver is in a tunnel — the app has to behave correctly.

Each of these has known failure modes. Most "we'll figure it out" implementations break on at least three of them by month two.

What SEM Nexus shipped

Foreground location: native modules behind a React Native facade

My Home Delivery is React Native. For most of the app — list views, forms, payment flows, push notifications — RN's standard libraries were fine. For location specifically, we wrote thin native modules on both iOS and Android that handle the platform-specific permission and lifecycle quirks, and exposed a clean RN interface to the application code.

That decision sounds obvious in retrospect; it's not. Many React Native marketplaces ship with a single off-the-shelf location library and trip over its limitations later. We picked the cleanest abstraction layer to write ourselves because location is the kind of feature where the abstraction needs to fit the project exactly.

Background location: separate state machine per platform

iOS and Android have meaningfully different background-location stories.

  • iOS allows continuous background location for apps with the appropriate entitlements (e.g., location background mode) but throttles aggressively under low battery. The OS will pause the stream and resume it; the app has to handle the resumption cleanly.
  • Android requires either a Foreground Service with a persistent notification (the modern compliant approach) or careful use of the Fused Location Provider with WorkManager fallbacks.

We wrote a state machine per platform that handles app lifecycle, OS interruption, and resumption. The state machines emit identical events into the React Native layer, so the application logic above doesn't have to know which platform it's running on.

Want this level of platform-specific engineering on your project? SEM Nexus's senior engineers write the platform-specific layers themselves instead of trusting library defaults that break in production.

Server-side: lean ingestion, fan-out via subscribers

The Laravel back-end receives location updates over a lightweight endpoint. Updates are persisted to the job record (for replay / audit / dispute resolution) and pushed to subscribers via a real-time channel.

Subscribers include the customer's app (showing the driver moving on the map), the platform admin dashboard (showing all active drivers), and downstream services that compute ETAs and trigger notifications. We tuned the cadence carefully: aggressive enough to feel real-time, sparse enough to keep server costs and battery drain in check.

Map rendering: native map components, not WebViews

On the customer side, we used native map components on both platforms. WebView-based maps look fine in demos and feel sluggish in production. The customer-side experience is where founders most often cut corners on map rendering, and the corner-cutting is visible.

Permission UX

When the driver first launches the app, permission requests happen in a specific order, with custom rationale screens that explain why the app needs continuous background location. Without this, drivers tap "Don't Allow" out of habit and the entire flow breaks.

When permissions are revoked mid-job, the driver sees a clear in-app warning and a one-tap path to the OS settings page. The customer-side experience continues with a "driver location temporarily unavailable" indicator instead of a confusing silent failure.

What the prior pattern would have looked like

Most marketplaces at this stage of fund-raising hire a contractor or a stack-locked agency and ship a single off-the-shelf location library. The result by month 3:

  • Battery drain complaints from drivers (off-the-shelf libraries are not tuned for delivery use cases)
  • Background tracking that quietly stops working on iOS 17+ updates
  • Customer-side maps that lag the driver's actual position by 30+ seconds
  • Permission UX that fails for 15–25% of drivers on first install

SEM Nexus's My Home Delivery build hit zero of these in production. The location stack was treated as a first-class engineering problem in discovery, named as the hard part in the technical recommendation, and built by a senior engineer who'd shipped location-stack work before.

The architecture summary

For founders evaluating their own location-stack build:

Layer What we shipped Common shortcut to avoid
Client foreground Native modules behind RN Off-the-shelf RN library
Client background Per-platform state machines "Just enable background mode"
Server ingestion Lean Laravel endpoint with subscriber fan-out Direct DB writes for every update
Server fan-out Real-time channel, tuned cadence 1-second polling
Customer-side map Native map components WebView map
Permission UX Rationale screens + revocation handling Default OS prompt only

If your project has real-time location in v1, the engineering effort is materially higher than the demo suggests. Budget it accordingly.

Two production lessons

Tune cadence per role. Customers don't need driver position updated every second — every 3–5 seconds is fine. Drivers need their next-step navigation updated faster. The cadence we ship is role-aware, not global.

Replay matters. Every location update is persisted, not just streamed. When a dispute happens ("the driver said they were at my house, they weren't"), the platform owner can replay the route. This single capability saves the platform from being the arbitrator of every dispute.

What this signals about SEM Nexus

Real-time location is one of the technical-hard-parts categories where the difference between a good agency and a forgettable one is enormous. We shipped My Home Delivery's location stack clean because senior engineering on this category is in our bench. We could not have shipped it with junior engineers and an off-the-shelf library.

If your project has a location component — marketplace, delivery, logistics, field-service, dating, ridesharing — and you'd like the build done by people who've already shipped this exact problem to production, SEM Nexus's two-week discovery is where to start. We'll name the location stack as the hard part in writing, scope it correctly, and back the build with a fixed quote.

lets connect

SEM Nexus is ready to help you find unique solutions for your app. Get in touch to learn more about your project and receive the full SEM Nexus treatment.

By partnering with SEM Nexus, you can confidently launch your app and get your product into the hands of customers, achieving unparalleled mobile growth.

get in touch now!
breaker
logo 98 Cuttermill Road,
Great Neck, New York, 11024
follow us
facebookinstagramlinkedin
our newsletter
subscribe!