Software / App Developer Needed to Build Map Pin + Geofence Photo Verification App

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

SALARY

TBD

HOURS PER WEEK

TBD

DATE UPDATED

Mar 12, 2026

JOB OVERVIEW

I’m looking for a developer or small team to help build a mobile/web app for a field marketing use case.

The app will primarily be used for yard sign placement and potentially door hanger distribution, so the goal is to verify that a user actually completed a stop by requiring them to take a photo within a defined geofence around a map pin.

What I need the app to do:

Allow me to create map pins on a shared map

Allow me to group pins inside a polygon/territory

Require a user to take a photo within the map pin’s geofence before that pin can be marked as updated/completed

Prevent users from updating a pin unless the photo is taken within the correct geofenced area

Make the map accessible to multiple users

Track:

total number of pins within a polygon

how many pins have been updated/completed

completion percentage by area/polygon

Include a leaderboard/gamification component

let me create competitions

track which users update the most pins

allow prizes/rewards for winners

show rankings in real time or near real time

Ideal features:

Mobile-friendly app for field reps

Admin dashboard for creating pins, polygons, users, competitions, and viewing results

Photo upload tied to each completed pin

Timestamp and GPS/photo metadata capture

User accounts / team access

Ability to filter by campaign, territory, or user

Clean UI that works well in the field

Main use case:

This is specifically for yard sign placement, but I also want the system to be flexible enough to use for door hanger campaigns or similar local marketing activities.

What I’m looking for:

Someone with experience building:

map-based apps

geofencing/location verification

photo validation workflows

leaderboards/gamification

multi-user dashboards

Bonus if you’ve worked with:

Google Maps / Mapbox

mobile app development

admin dashboards

route or field service apps

In your application, please include:

Examples of similar apps or features you’ve built

What tech stack you’d recommend

Whether you’d build this as:

mobile app only

web app + mobile responsive

native app + admin dashboard

Rough timeline and budget range

Any suggestions for improving this concept

I’m looking for someone who can help think through the product, not just code it. I want this to be practical, fast, and reliable for real-world field use.

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0131
Total Execution Time  0.0143
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,500,840 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Software-App-Developer-Needed-to-Build-Map-Pin-Geofence-Photo-Verification-App-1600011
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0083 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1600011
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 875360
 LIMIT 1 
0.0010   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1600011
AND `misc`.`idIS NULL 
0.0005   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-04-13',ej.date_added) duration_daysDATEDIFF('2026-04-13',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-04-13',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1600011' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1600011 
0.0019   UPDATE employer_jobs SET hit_counts '***Mar-12-2026=5***Mar-13-2026=45***Mar-14-2026=12***Mar-15-2026=9***Mar-16-2026=65***Mar-17-2026=15***Mar-18-2026=9***Mar-19-2026=11***Mar-20-2026=15***Mar-21-2026=8***Mar-22-2026=6***Mar-23-2026=4***Mar-24-2026=9***Mar-25-2026=8***Mar-26-2026=7***Mar-27-2026=6***Mar-28-2026=5***Mar-29-2026=3***Mar-30-2026=3***Mar-31-2026=4***Apr-01-2026=5***Apr-02-2026=6***Apr-03-2026=5***Apr-04-2026=4***Apr-05-2026=5***Apr-06-2026=4***Apr-07-2026=2***Apr-08-2026=7***Apr-09-2026=5***Apr-10-2026=2***Apr-11-2026=3***Apr-13-2026=1' WHERE job_id'1600011'  
0.0007   UPDATE employer_jobs SET monthly_hits '***Mar-2026=249***Apr-2026=49' WHERE job_id'1600011'  
0.0012   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1600011' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1600011 
0.0009   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '875360'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)