Voter Fence
Buget: $250.0
FIXED /
⭐ 4.99 (129)
United States
javascript, node.js, reactive-programming
The structure was:
One developer
10 days
10-hour workdays
Node.js, React, and JavaScript
Hosted through Render and your GoDaddy VPS
Built as an added plugin/module inside your existing platform
The basic system would allow administrators to create target areas using:
State
Street address
ZIP code
Latitude and longitude
Radius around a location
Potentially city, county, district, or precinct boundaries
When canvassers or candidates are logged into one of your apps, the system could track whether they:
Enter or leave a geofenced area
Arrive at an assigned canvassing location
Remain inside the assigned area
Complete activity inside or outside their assigned turf
Trigger an arrival, departure, or assignment notification
We also discussed separating this from advertising-based geofencing. In 10 days, the realistic first version would focus on location targeting, field-team tracking, assignments, alerts, and reporting, rather than identifying anonymous people who searched for a candidate or product. Search-intent advertising would require outside advertising/data providers and a larger integration.
The mobile user will be able to:
Log in securely
View assigned geofences
View assignments in list and map form
Start and end a work session
Allow location access
Receive entry and exit detection
See whether they are inside or outside an assigned area
Check in at a location
Add a note to the assignment
View recent activity
Work through temporary connectivity interruptions
Log out
Day 1 — Planning, Accounts and Project Setup
Backend and system planning
Review the existing Node.js API, React admin panel, database, authentication system, Render services, and GoDaddy VPS.
Decide whether the geofencing feature will be:
A module inside the existing system
A separate service connected through an API
Define user roles:
Super administrator
Campaign administrator
Candidate
Field director
Canvasser
Viewer
Finalize the first-release feature list.
Create database schema and API documentation.
Establish development, staging, and production environments.
Mobile setup
Create the React Native project.
Configure Android and iOS application identifiers.
Connect the mobile app to the existing authentication API.
Configure environment variables.
Establish Git repositories and branches.
Create development builds for physical-device testing.
Store setup
Confirm access to:
Apple Developer account
App Store Connect
Google Play Console
Reserve the app name.
Create the App Store Connect app record.
Create the Google Play Console app record.
Establish the bundle identifier and Android package name.
Day 1 deliverable
A running mobile shell, technical specification, database plan, API map, store records, and confirmed development environments.
Day 2 — Database, Authentication and User Permissions
Database tables
Create or update tables for:
Users
Organizations
Campaigns
Teams
Geofences
Geofence assignments
Work sessions
Location events
Entry events
Exit events
Check-ins
Device registrations
Notifications
Audit logs
Authentication
Connect mobile login to the existing account system.
Add refresh-token handling.
Add secure device-token storage.
Create password reset or connect the existing reset flow.
Apply organization and campaign-level access restrictions.
Prevent one campaign from seeing another campaign’s data.
Add account deactivation and forced logout.
Mobile screens
Splash screen
Login
Forgot password
Permission introduction
Basic dashboard
Logout
Day 2 deliverable
Users can log in, remain authenticated, view the correct organization, and access only features allowed by their role.
Day 3 — Geofence Creation and Address Processing
Admin features
Build the geofence creation form with:
Geofence name
Campaign
Address
City
State
ZIP code
Latitude
Longitude
Radius
Description
Active dates
Active hours
Assigned team
Assigned users
Active/inactive status
Mapping and geocoding
Convert addresses into latitude and longitude.
Place a marker on the map.
Draw a circular radius.
Allow the administrator to move the marker.
Recalculate coordinates after moving it.
Validate radius limits.
Save the geofence to the database.
API routes
Create geofence
Read geofence
Update geofence
Delete or archive geofence
List geofences
Assign users
Remove assignments
Day 3 deliverable
An administrator can create, preview, save, edit, activate, and assign a basic circular geofence.
Day 4 — Mobile Map, Assignments and Work Sessions
Mobile dashboard
Create:
Welcome area
Current campaign
Start-shift button
End-shift button
Assigned areas
Recent activity
Current location status
Online/offline indicator
Assignment screens
List view
Map view
Assignment details
Navigate-to-location button
Start assignment
Complete assignment
Add note
Manual check-in
Work sessions
Record:
User
Device
Campaign
Start time
End time
Starting coordinates
Ending coordinates
Assignment
Session status
Day 4 deliverable
A logged-in user can start a work session, view assigned areas on a map, open an assignment, check in, and finish the session.
Day 5 — Native Geofencing and Background Location
Android
Add foreground location permission.
Add precise-location handling.
Add background-location flow only where operationally necessary.
Register geofences.
Detect enter and exit transitions.
Send transitions to the backend.
Restore active assignments after restart where supported.
Add foreground-service handling if the selected tracking approach requires it.
Android provides native geofence transition support, but Google restricts background location to apps where it is central to the application’s core functionality. The developer must clearly explain that relationship in the app, privacy documents, permission flow, and Play Console declarations.
On Android 11 and newer, users may need to grant “Allow all the time” location access through the app’s system settings rather than through the initial permission dialog.
iOS
Add “When in Use” permission.
Add the appropriate background-location permission flow.
Configure Core Location.
Register region monitoring.
Detect entry and exit events.
Upload events to the server.
Add visible user controls for starting and stopping field activity.
Configure the required background-location capability and usage descriptions.
Apple requires apps using background location updates to declare the location background mode and configure the location manager accordingly.
Important design rule
The app should not silently track users continuously. Location collection should be connected to a clearly visible work session, assignment, or operational purpose.
Day 5 deliverable
Physical Android and iPhone devices detect entry into and exit from assigned test areas and send those events to the server.
Day 6 — Activity Tracking, Alerts and Offline Support
Event processing
Record entry time.
Record exit time.
Calculate duration inside the area.
Prevent duplicate rapid-fire events.
Mark events as automatic or manual.
Attach the event to the correct work session.
Record device accuracy and timestamp.
Flag unusually inaccurate coordinates.
Notifications
Create notifications for:
Entered assigned area
Exited assigned area
Assignment started
Assignment completed
User outside assigned territory
Location permission disabled
Shift left running too long
Offline behavior
Cache assigned geofences.
Cache mobile events while offline.
Queue check-ins and notes.
Retry failed uploads.
Prevent duplicate submissions.
Show pending synchronization status.
Synchronize when service returns.
Day 6 deliverable
Geofence activity is recorded reliably, users receive basic alerts, and temporary connection loss does not erase field activity.
Day 7 — Administrative Tracking Dashboard and Reports
Dashboard
Add cards for:
Active users
Users currently inside assigned areas
Users outside assigned areas
Active geofences
Entries today
Exits today
Completed assignments
Missed assignments
Users with location disabled
Reporting
Create filters for:
Organization
Campaign
Team
User
Geofence
State
ZIP code
Date range
Entry or exit event
Completed or incomplete assignment
Report details
Show:
User
Geofence
Entry time
Exit time
Time inside
Manual check-in
Notes
Last synchronized time
Device platform
Approximate accuracy
Export
CSV export
Print-friendly view
Basic campaign summary
Day 7 deliverable
Administrators can monitor field activity and produce a basic report by campaign, user, geofence, and date.
Day 8 — Privacy, Security and Store Compliance
Security
Encrypt traffic with HTTPS.
Validate all API requests.
Add role-based authorization.
Add rate limiting.
Protect administrative endpoints.
Remove sensitive information from application logs.
Store only the minimum required location information.
Add audit trails for administrative changes.
Add account deletion or deletion-request workflow.
Add data-retention settings.
Required documents
Prepare:
Privacy Policy
Terms of Use
Location Data Disclosure
Background Location Explanation
Data Retention Policy
Account Deletion Instructions
Support page
Contact page
Permission explanation
Before the system permission appears, the app should explain:
What location is collected
Why it is collected
Whether it works in the background
When tracking starts
When tracking stops
Who can view the information
How long the information is retained
Store compliance
Complete:
Apple App Privacy responses
Google Data Safety section
Google background-location declaration, when required
Content rating
Age rating
App access instructions
Review account information
Export-compliance questions
Advertising declaration
Data-deletion information
Apple reviews every submitted app version and allows developers to provide review notes and access information through App Store Connect.
Day 8 deliverable
The app has its privacy disclosures, security controls, permission explanation screens, support links, and initial store-compliance forms completed.
Day 9 — Testing, Branding and Store Materials
Functional testing
Test on at least:
Two physical iPhones
Two physical Android devices
Wi-Fi
Cellular connection
Temporary loss of service
App open
App in background
Screen locked
Location disabled
Precise location disabled
Battery-saver mode
User logout
Expired login session
Geofence testing
Test:
Entry
Exit
Remaining inside
Rapidly crossing the boundary
Large radius
Small radius
Overlapping areas
Reassigned area
Deactivated area
Offline entry and later synchronization
Branding
Prepare:
Final app name
App icon
Splash screen
Login logo
Light and dark background compatibility
Correct campaign or company branding
Store listing
Prepare:
App title
Subtitle or brief description
Full description
Keywords
Category
Support contact
Privacy-policy link
Support link
Phone screenshots
Tablet screenshots where applicable
Promotional graphic for Google Play
Review notes
Demo account
Beta distribution
Upload iOS build to TestFlight.
Upload Android build to internal testing.
Invite internal testers.
Correct crashes and blocking defects.
Apple provides TestFlight for internal and external beta testing before App Store release.
Day 9 deliverable
A branded release candidate is available to testers through TestFlight and Google Play internal testing.
Day 10 — Final Corrections and Store Submission
Morning
Review crash reports.
Correct high-priority defects.
Verify production API URLs.
Verify push-notification credentials.
Verify map and geocoding credentials.
Test account creation and login.
Confirm privacy-policy links.
Confirm demo account.
Confirm location-permission language.
Confirm app version and build numbers.
Apple submission
Upload the final production build.
Attach screenshots.
Complete App Privacy details.
Add review notes.
Explain that background location is used during authorized campaign field sessions.
Supply a functioning reviewer login.
Explain how to start a work session and test the geofence.
Submit for App Review.
Apple recommends using the review notes to explain the app’s concept, business model, location restrictions, and any information necessary for reviewers to test important features.
Google submission
Upload the signed Android App Bundle.
Complete Data Safety.
Complete background-location documentation.
Complete app-access instructions.
Add screenshots and promotional assets.
Select countries and distribution.
Complete content rating.
Submit to the applicable testing or production track.
Google requires developers to provide app-access instructions when reviewers need credentials or special steps to access protected features.
Final handoff
Provide:
Source code
Environment-variable list
API documentation
Database diagram
Store credentials checklist
Admin instructions
Mobile user instructions
Known limitations
Backup and recovery instructions
Post-launch defect list
Day 10 deliverable
The first version is complete, deployed to production infrastructure, available through beta testing, and submitted to Apple and Google where account eligibility permits.
Recommended App Navigation
Main menu
Home
My Assignments
Map View
List View
Start or End Shift
Check In
Activity History
Notifications
Support
Privacy and Location Settings
Logout
Persistent navigation
Every authenticated screen should include:
Back
Home
Back to Canvass
User photo
Notifications
Logout
The Back to Canvass menu can include:
Map View
List View
Current Assignment
Start Shift
End Shift
What Will Not Be Fully Completed in 10 Days
The following should be treated as later phases:
Anonymous advertising-device targeting
Identifying people who searched for a candidate or product
Programmatic advertising integrations
Polygon drawing for complex political districts
Automatic precinct-boundary imports
Heat maps
Route optimization
Predictive targeting
Full payroll and mileage reimbursement
Continuous live tracking every few seconds
Advanced location spoofing detection
White-label versions for multiple clients
Separate candidate-branded apps
Apple Watch application
Full iPad-specific interface
Realistic Release Timeline
Stage Target
Development and internal testing 10 working days
TestFlight and Google internal testing Day 9–10
Store submission Day 10
Google production release After review and any required testing period
Apple production release After App Review approval
Post-review corrections Approximately 1–5 additional working days if rejected
The safest public commitment is:
The geofencing application will be developed, tested and submitted within 10 working days. Final Apple App Store and Google Play availability is subject to each platform’s independent review and testing requirements.
I will also attach the app screens
for each slide page use the pattern i have provided or ask me to create them for you slides not here ssl privacy terms of use cookies website disclaimer app disclaimer there maybe other slides you may need
Deschide pe Upwork