Permission Strategy
Tepia asks for location only when a feature needs it and explains why, which matters most for background access on iOS and Android.
Read: Route Optimization Software DevelopmentTepia builds maps and geolocation features for iOS and Android apps, including live tracking, geofencing, address search, routing and location history, on Google Maps Platform, Apple MapKit or Mapbox. We design background location around each platform's permission rules and battery limits, and store spatial data in PostgreSQL with PostGIS for fast radius and zone queries.
Location features look simple in a demo and get hard in the background, at the edge of a geofence and on a draining battery.
Tepia asks for location only when a feature needs it and explains why, which matters most for background access on iOS and Android.
Read: Route Optimization Software DevelopmentTepia compares Google Maps Platform, Apple MapKit and Mapbox for your use case, weighing coverage, styling and usage terms.
Read: Delivery App DevelopmentTracking switches between precise GPS and low power modes based on movement, so a full shift of tracking does not drain the phone.
Read: Field Service GPS and Time Tracking AppTepia stores locations in PostgreSQL with PostGIS, so finding the nearest driver or every job inside a zone takes milliseconds.
Platform and privacy figures Tepia designs around when building map features.
StatCounter puts iOS at about 54 percent of US mobile operating system usage in 2026, so Apple MapKit is a real option.
Pew Research Center found 73 percent of Americans feel they have little or no control over what companies do with their data.
Pew Research Center reports about nine in ten US adults own a smartphone, each one carrying GPS and location services.
Most apps that need maps need two or three of these features, not all of them. Tepia scopes each one separately, because the platform tools and the failure modes are different:
| Feature | Typical use | Platform tools | What makes it hard |
|---|---|---|---|
| Live tracking | Customer watches a driver or technician approach | Fused Location Provider, Core Location, WebSockets | Update frequency against battery life, smoothing jumpy points |
| Geofencing | Clock in at a job site, arrival alerts, store pickup | Android Geofencing API, Core Location region monitoring | iOS monitors up to 20 regions per app, Android up to 100, and triggers can lag by minutes |
| Address search | Booking forms, delivery addresses | Google Places, MapKit search, Mapbox geocoding | Unit numbers, new subdivisions, rural routes, gate instructions |
| Routing and ETA | Directions, arrival times, multi stop days | Google Routes, MapKit directions, Mapbox Directions | Traffic, truck restrictions, the order of many stops |
| Nearby search | Closest store, provider or available unit | PostGIS radius and polygon queries | Ranking by drive time rather than straight line distance |
| Location history | Mileage logs, time on site, breadcrumb trails | Background location, significant change monitoring | Gaps when the operating system pauses the app |
| Custom layers | Territories, service areas, campus maps | GeoJSON layers and custom map styles | Thousands of markers, which need clustering |
Because of the region limits, Tepia often registers only the nearest geofences on the device and swaps them as the user moves, rather than loading every location at once.
Background location is where app review, user trust and battery life all collide, so Tepia designs it before writing code. On iOS, users choose between allowing location while using the app or always, and can share only an approximate location. On Android, background access must be requested separately after foreground access, recent versions send users to system settings to grant it, and Google Play requires a declaration explaining why your app needs it. Apps that ask too early or without a clear reason get denied by users and questioned by reviewers.
Tepia asks for location at the moment a feature needs it, with a short screen that explains the benefit, and builds a useful fallback when the answer is no or only approximate. For tracking, we combine distance filters, motion detection that pauses GPS when the phone is still, and batched uploads, so a technician or driver can run tracking through a full shift. Those patterns underpin our GPS time tracking apps and driver apps.
Tepia picks the map stack by what your users search for, where they are, and how the map needs to look:
Usage terms matter as much as features. Some providers restrict showing their place results on another company’s map or caching their data, so Tepia checks terms before mixing services. Apps used in the field often need maps that work without signal, which ties into our offline first app development approach. For dispatch or delivery products, routing usually moves server side, covered in route optimization software development.
A moving dot on a customer’s screen depends on a server that can take in thousands of location updates a minute and send only the useful ones back out. Tepia builds this with Node.js or .NET services, stores the latest position and a trimmed history in PostgreSQL with PostGIS, and pushes updates to watching clients over WebSockets or Firebase rather than having every phone poll.
We throttle and filter on the server too: a point that has not moved meaningfully is not rebroadcast, and points with poor accuracy are dropped before they make a driver appear to jump across a highway. Spatial indexes let dispatch screens ask which units are inside a polygon or within ten minutes of a job without slowing down as the fleet grows. Our real time applications work covers the same patterns beyond maps.
Location work follows the six Tepia phases, with field testing built in rather than left to launch week.
See the full Tepia process.
GPS is accurate outdoors, less so between tall buildings, and weak indoors. Tepia sets expectations accordingly: we smooth tracks and snap them to roads where it helps, use Wi-Fi or Bluetooth beacons when indoor position truly matters, and design geofences large enough to trigger reliably instead of at the exact curb.
Location is also sensitive data. California law treats precise geolocation as sensitive personal information, and both app stores require you to disclose how location is used. Tepia collects location only while a job, shift or trip is active, sets retention periods, lets users see what was recorded, and keeps access limited by role in the admin portal. If your app needs a map that people trust, talk to Tepia or browse our work.
A paragraph or two with information on your product/service or describes a problem your product/service is designed to solve.
CEO
Senior Project Manager
VP & Operations Manager