← Állások

Google Maps Rank Tracker (Geo-Grid Heatmap) and Business Listing Management Integration

Költségvetés: $300.0 FIXED / ⭐ 5.00 (7) United States

laravel-framework, php, api-integration, restful-api, redis, google-maps-api, javascript

Előnyben részesített képesítések

  • Tapasztalat: Szakértő
We are BeautyeBooking, an online booking platform for beauty and wellness businesses. We are building a Google Business Profile GBP module inside our Laravel 12 application so that salons and spas can manage and grow their Google presence from one place. Most of the GBP module is already built. We now need an experienced developer to complete the two remaining features: 1. Map Rank Tracker: a geo-grid heatmap that shows where a merchant ranks on Google Maps for chosen keywords, from many points around their business. 2. Listing Management: publishing and syncing a merchant's business details, including name, address, phone, hours, services, products and photos, to many online directories, with status tracking per directory. Groundwork already exists in our Bitbucket repository: database models for the tracker, keywords and stored API responses, a BrightLocal service class, and a listing-management model. You will review, refactor and extend this code, not start from zero. The user-facing screens for both features do not exist yet. Designs are available, and implementing them is part of this project. A key goal is vendor independence. We have not locked in a data provider, so the integration must allow providers to be swapped with minimal code changes. We are evaluating DataForSEO, Local Falcon and BrightLocal for rank tracking, and Synup and BrightLocal Citation Builder for listings. **What You Will Build** **Part 1: Map Rank Tracker** Backend - Provider-agnostic rank tracking layer using the adapter/strategy pattern, with at least one working provider and a clear structure for adding others. - Verify that the chosen provider returns per-point results for every grid point, not only a single summary rank. - Scan logic: the merchant selects a business location, keywords and grid size, for example 7x7 = 49 points, centered on the business. The system generates the grid coordinates and checks rankings from each point. - Scheduled background scans using Laravel Queues/Horizon and the scheduler, with history storage, failure handling and retries. - Per-subscription-plan limits for grid size, number of keywords and scan frequency, with usage metering so costs cannot run away. - Rank-drop detection with email and in-app alerts. Frontend, merchant-facing - Setup screen to choose location, keywords and grid size. - Heatmap on a map with color-coded rank at each grid point, using Google Maps JS API or Leaflet/OpenStreetMap. - Summary metrics: average rank, best and worst spots, and comparison with nearby competitors. - History view showing improvement or decline over weeks. - Exportable PDF/CSV report. - Clear status messaging: queued, running, failed and out of allowance. **Part 2: Listing Management** Backend - Pull name, address, phone, hours, categories and photos from the merchant's Google Business Profile via the existing GBP API services. - Integrate with the chosen listings provider, Synup and/or BrightLocal Citation Builder, and track status per directory. - Detect duplicate or inconsistent listings and changes made outside our system. - Two-way sync of edits, with defined behavior for listings when a merchant cancels. Frontend, merchant-facing - Directory list showing each site's status: live, pending or needs attention. - Consistency check highlighting wrong or mismatched details. - One-click publish/update everywhere, with a clear preview of what will change. - Optional one-time "get listed" package with the price shown before purchase. **Cross-cutting Requirements** - Admin dashboard showing usage and cost per merchant. - Encrypted storage of Google tokens, with the ability for merchants to disconnect and revoke access. - Role-based permissions for owners and staff connecting profiles and publishing changes. - Support for multiple locations per merchant. - Monitoring and alerts when scans or syncs fail. **Required Skills and Experience** - PHP/Laravel experience, with recent work on Laravel 12. - Strong experience with Laravel Queues, Horizon, Redis and Task Scheduling. - Proven third-party REST API integration experience, including HTTP clients, backoff, rate limits, idempotency and error handling. - Experience designing swappable integrations using the adapter/strategy pattern. - Solid Eloquent, migrations and service-layer architecture skills. - OAuth 2.0 token handling with encrypted storage and refresh. - Frontend experience matching our stack: Blade and JavaScript map libraries, including Google Maps JS API or Leaflet. - Charting experience. - Comfortable reading, refactoring and extending an existing codebase through pull requests using Bitbucket and Jira. - Good written English and clear, regular communication. **Strongly Preferred** - Previous work with local SEO tools or geo-grid rank tracking, including Local Falcon, BrightLocal or DataForSEO Maps/SERP API. - Experience with the Google Business Profile API, including Google's access approval and OAuth app verification process. - Experience with Synup, BrightLocal Citation Builder or similar listings/citation APIs. - Geospatial work: generating latitude/longitude grids, geocoding and distance calculations. - Usage-based billing or plan limits using Stripe or Laravel Cashier. - Familiarity with AWS or GCP, Redis and secrets managers. - Knowledge of Apple Business Connect, Bing Places or Meta Business APIs. **Project Details** - Project type: Fixed-price milestones or hourly, open to discussion. - Estimated duration: About 8 to 10 weeks for both features. - Experience level: Intermediate/Expert. **Project Milestones** After completing Map Rank Tracker and Listing Management, there may be follow-on work: GBP Audit scoring, a Products section, and AI-assisted drafting of posts, descriptions and review replies, always with merchant approval before publishing. **Deliverables** - Production-ready, tested code merged via pull requests. We have three servers: DEV, STAGING and MASTER. - Database migrations and seeders. - Brief technical documentation covering architecture, the provider adapter guide, environment variables and how to add a new provider. - Admin cost and usage reporting. - Handover walkthrough with our team. **How to Apply** Please include the following in your proposal. Generic or copy-pasted proposals will not be considered. - Links or descriptions of past projects involving rank tracking, Google Business Profile API or directory/listing sync. Even one is a strong signal. - A short outline of how you would design a swappable provider layer in Laravel. - How you would control and measure cost per merchant when scans are paid per request or per credit. - How you would handle failed scans, retries and rate limits with Laravel queues. - Your experience with Google API access approval and OAuth verification, and how long it took. - Your availability, hourly rate or milestone pricing. **Application Questions** Applicants must answer these questions when applying: 1. Which Laravel versions have you used in production, and have you worked with Horizon and Redis queues? 2. Have you integrated DataForSEO, Local Falcon, BrightLocal or Synup? Describe what you built. 3. Have you worked with the Google Business Profile API? What was the biggest challenge? 4. Given a business at a latitude/longitude, how would you generate a 7x7 grid of points and fetch the Google Maps rank for one keyword at each point? 5. Which frontend stack and map library would you use for the heatmap, and why? **About the Working Arrangement** - Code is managed in Bitbucket with pull request review. - Tasks are tracked in Jira. - Day-to-day communication is on Microsoft Teams. - Secrets are stored in a secrets manager, never in the repository. - We value clean, tested code, clear communication and early flagging of risks, especially cost and vendor terms. We look forward to hearing from you. **Suggested Upwork Settings** Category: Web, Mobile and Software Development / Web Development Skills tags: Laravel, PHP, API Integration, Google Business Profile API, Redis, Google Maps API, Local SEO, PostgreSQL, REST API Visibility: Public
Megnyitás Upworkön

AI proposal draft

Generate a short cover letter for this job. Edit before sending.

Sign in to generate an AI proposal draft.

Bejelentkezés