Skip to product reference

Product reference · iPhone and Android

Routes, timing and statistics

Upcoming-release preview, not current store-version documentation. How LuckyFind records GPS routes, handles pauses and continued hunts, and calculates distance, active time, depth statistics and achievements.

Upcoming-release preview. Code reviewed . This reference describes an unreleased release candidate, not the versions currently downloadable from the stores. Some controls, fields and recovery behavior are not available in those versions. Control names are shown in English.

What is saved with a route?

A route is one hunt record containing its own GPS samples and finds. Displayed distance, speed and summary totals are calculated from these records; they are not independent measurements saved by a detector.

Identity: documentID
The stable identifier used to keep the same route associated with its saved data. Older records may use the legacy key id.
Status: completed
Whether the hunt has been finished. Continuing a saved hunt returns that same route to an unfinished state.
Description: name, notes
The route title and optional notes. A route name is not a separate, managed detecting-site record.
Dates: startDate, endDate, lastEdited
The original start, the end used for a finished hunt and the last edit timestamp. Continuing a route preserves its original start date.
Excluded time: secondsPaused
Accumulated seconds excluded from active hunting time, including explicit pauses and the gap before continuing a completed hunt.
Contents: coordinates, items
The ordered GPS samples and the find records belonging to the route.
Local timing: pauseStartedAt, reviewStartedAt
Local checkpoint fields that preserve an open pause or end-of-hunt review. They are not shared live-session handoff fields; cloud writes use the accumulated paused-time representation.
Compatibility: mode
An optional schema field retained for compatibility. Its presence is not a promise of a selectable hunt-mode feature.

How GPS becomes a route line

Each accepted coordinate stores lat and long in decimal degrees, a time timestamp and an optional prevPaused marker. That marker starts a new segment, so distance is not counted across a recording gap.

The apps filter location readings before adding them to a route. Closely spaced points are normally skipped below about 2 metres. An implausible jump above the current 15 metres-per-second threshold starts a new segment instead of adding a long connecting distance. These are filtering rules, not guarantees of real-world positioning accuracy.

iPhone

The current location policy accepts fixes within a 15-second freshness window and with reported horizontal accuracy of 65 metres or better. Route samples must have increasing timestamps and belong to the recording session.

Android

The current policy rejects fixes older than 30 seconds and, when accuracy is reported, fixes worse than 100 metres. Route samples must have increasing timestamps and belong to the active recording segment.

A missing line can mean a pause, weak GPS, rejected samples or operating-system restrictions. Satellite imagery and the route recorder are separate: a blank offline map does not by itself prove that GPS recording stopped. See location setup and offline limitations.

The line represents accepted phone positions—not a precise boundary, legal access map, detector sweep width or proof that every patch of ground was searched.

What happens to the hunt and timer?

Start
Creates a hunt with an original start time. A usable location fix is still needed before the app can add GPS points or place a find.
Pause / Resume
An explicit pause stops route sampling and freezes active elapsed time. Resuming starts a new GPS segment and excludes the break from the timer.
Log Find
The find position is held from when the form opens. On iOS, GPS sampling temporarily stops while the find form is open; on Android, it can continue. Opening the form alone does not exclude that time from the active timer. An explicit pause remains separate from this temporary GPS suspension.
Done
Stops recording and opens the end-of-hunt review. The active timer freezes at the review boundary. Done is not the same as confirming Save Hunt.
Keep Hunting
Leaves the review and resumes the same hunt, excluding time spent reviewing it.
Save Hunt
Finishes the reviewed hunt and saves its record. A local save or queued sync is not proof that the server has received every change or photo.
Continue a saved route
Reopens the same route, preserves its original start and accumulated finds, excludes the gap since its last finish and starts a new GPS segment.
Discard
Deletes the hunt being discarded. It is not a way to pause, finish or back up a hunt.

The active timer is elapsed hunt time minus excluded intervals. It is not an estimate of time spent physically swinging the detector. Use one phone for an active hunt; account sync is not a supported live handoff between two simultaneous recorders.

How the statistics are calculated

Distance
The sum of distances between consecutive accepted coordinates, skipping connections into points marked as a new segment. Paused gaps and rejected jumps are not added as straight-line travel.
Time
Saved route statistics use whole active minutes, while the ongoing timer shows seconds. For a finished hunt, active duration is its end minus its original start minus paused seconds, clamped at zero. Use the Detect timer for an unfinished hunt: list/statistics screens are not all live second-by-second views of an open pause.
Average speed
Recorded distance divided by whole active minutes expressed as hours, displayed to one decimal place. Routes below one whole active minute show zero. This is an average over the hunt, not instantaneous GPS speed.
Find count and finds per distance
Count the saved find records. Find density divides that count by route distance in kilometres or miles and displays a whole-number result; it is zero without recorded distance. Overall density uses overall finds and distance, not an average of route densities.
Average and deepest find
Use positive depths with recognised saved units, converted to a common unit before comparison. Missing, zero or unknown-unit depths do not enter these calculations. No usable depth is shown as no value, not as a measured zero.
Personal bests
Compare individual routes for most finds, longest distance and longest active duration, and individual usable find depths for the deepest find.
Period filters
Today starts at local midnight; Week, Month and Year are rolling 7-, 30- and 365-day windows, not calendar-week, calendar-month or calendar-year totals. The filter uses the route's original start date, including for a continued hunt. Platform calendar arithmetic can differ around daylight-saving changes.

Units and small platform differences

Route distance is displayed in metres or yards; speed in kilometres or miles per hour; find density per kilometre or mile. iOS follows the locale measurement system. Android uses imperial distance for US, Liberia and Myanmar regions and metric distance elsewhere. The result can differ between platforms—for example with a UK region.

Distance calculations and rounding also differ slightly: iOS uses Core Location distances and some whole-distance values, while Android uses a spherical-distance calculation and unrounded distance for speed. Do not expect every last digit to match. Depth has its own saved unit; changing this website's language does not change native app units.

What counts toward achievements?

The reviewed apps define 22 achievements derived from route and find records. They are milestones, not detector-verified discoveries, object appraisals or financial rewards.

Find milestones: six
At least 1, 10, 50, 100, 500 and 1,000 find records.
Completed-hunt milestones: four
At least 1, 10, 25 and 50 completed hunts.
Depth milestones: two
A known-unit depth reaching 15 cm or 25 cm, converting inches before comparison.
Distance milestones: two
Total recorded distance reaching 1 km and 10 km in metric mode, or 1 mile and 10 miles in imperial mode.
Category variety: two
At least 3 and 5 distinct, non-empty saved category names.
Time of hunt: three
A completed hunt starting at or after 20:00 (Night Owl), before 07:00 (Early Bird), or on Saturday/Sunday (Weekend Warrior), using local time.
Marathon Session
A completed hunt with at least 120 active minutes.
Coin Hunter
At least five finds whose saved category text contains “coin”, ignoring case. This current text-based rule can miss translated category names; it is not automatic coin identification.
Hot Streak
At least three completed hunts with start times in a seven-day window.