Skip to content
← Back to Work

Internal R&D

/ Internal

Gulfturn Local LeadScout: Autonomous Local Business Lead Discovery

Gulfturn Creative built an internal R&D platform, Local LeadScout, that searches local businesses by category and location, identifies those without a website, scores leads by priority, and routes follow-up to an external CRM. The platform combines a guided search workflow, an autonomous AI agent for multi-zip-code sweeps, and a follow-up dashboard for assignment and tracking.

Domain
Local Business Lead Generation
Client
Gulfturn Creative

Capabilities

Autonomous lead generation agentGuided local business searchLead deduplicationRole-based access controlExternal CRM integrationFollow-up assignment and trackingApplied AIWorkflow ModernizationDigital Platforms

Challenge

Outreach teams at Gulfturn Creative needed a repeatable way to find local businesses that lack a web presence — the highest-intent segment for web design and development services. Manual Google Maps searches were slow, inconsistent across zip codes and business types, and produced duplicates that polluted the CRM. There was no single place to track which leads were assigned, contacted, or marked for follow-up, and no automated path from discovery to CRM handoff.

Gulfturn's Role

Gulfturn Creative designed and built the full platform on Base44, owning the data model, search orchestration, AI agent behavior, CRM integration, and the admin and user-facing UI. The team defined the lead scoring rubric, the follow-up status taxonomy, and the role-based access model that separates admin-only Settings from the search and follow-up workflows available to all authenticated users.

Solution

Local LeadScout is a React + Tailwind application backed by Base44's entity, function, and agent capabilities. A guided search form accepts a business category, city or ZIP code, and radius, then invokes a backend function that queries SerpApi for Google Maps results, normalizes phone and address data, computes a deduplication key, classifies each business as no_website_listed, website_listed, or unknown, and bulk-inserts new BusinessLead records. A Results page surfaces leads with rating, review count, maps link, website link, and a follow-up panel. A Follow-up Dashboard filters by status and assignee. An autonomous lead generation agent iterates every zip code × business type combination, calling the same search function and reporting qualifying lead counts. A sendToCrm backend function forwards marked leads to an external CRM endpoint.

AI and Human Roles

The lead_generation_agent is an in-app AI agent that takes a job configuration — zip codes, business types, and radius — and systematically calls the searchLocalBusinesses function for every combination. It tracks qualifying lead counts per search and reports a final summary broken down by business type. A separate InvokeLLM call drafts cold outreach emails from lead name and address context. The agent does not perform CRM writes directly; it relies on the search function to persist leads and on the human-driven follow-up panel to mark leads for CRM sync.

Human Controls

All CRM sync is initiated by a human toggling 'Mark for Follow-up' on a lead and saving the follow-up panel. Team admins assign leads to team members, set priority, follow-up tags, and next follow-up dates. The sendToCrm function verifies the caller owns or is assigned to the lead before forwarding to the CRM. Email outreach sends are triggered manually from the Results page. Settings — including business type management and team membership — is restricted to admins at both the route and entity level.

Architecture

Frontend: React, Vite, Tailwind CSS, shadcn/ui, react-router-dom, react-leaflet for the map view, recharts for analytics. Backend: Base44 entities (BusinessLead, SearchJob, EmailOutreach, TeamMember, UsageStats, EmailTemplate), backend functions (searchLocalBusinesses, sendToCrm, emailOutreach, captureScreenshot, checkDomainAvailability), and an in-app agent (lead_generation_agent). External services: SerpApi for Google Maps results, a screenshot API for desktop and mobile site captures, an external CRM webhook secured by a shared secret. Row-level security restricts BusinessLead, EmailOutreach, SearchJob, and EmailTemplate reads and writes to owners, assignees, and admins.

Security, Compliance and Accessibility

Row-level security is enforced on BusinessLead, EmailOutreach, SearchJob, and EmailTemplate. The sendToCrm and emailOutreach backend functions authenticate the caller via createClientFromRequest and verify lead ownership or admin role before any privileged operation under asServiceRole. The CRM endpoint is secured by a shared secret stored as an app secret. Non-admin users are blocked from the Settings route and see an 'Admins only' screen.

Results

Demonstrated
The platform reduces per-search manual effort from a multi-step Google Maps workflow to a single form submission, and the autonomous agent scales that across zip code × business type combinations without additional operator input. Deduplication via a computed key prevents duplicate leads across overlapping searches. Quantitative outcomes (conversion rate, time-to-contact, CRM acceptance rate) are not_disclosed pending measurement.

Why This Matters

This case study demonstrates Gulfturn Creative's ability to ship an end-to-end lead generation and routing platform on Base44 — combining guided search, an autonomous agent, role-based access control, and a secured external CRM integration — within a single codebase that publishes to web and mobile from one source.

Capabilities Demonstrated

  • Multi-zip-code autonomous search via in-app agent
  • Row-level security across leads, outreach, and search jobs
  • Secured CRM handoff with ownership verification
  • Admin-only Settings with route and entity enforcement

Technologies

ReactViteTailwind CSSshadcn/uireact-router-domreact-leafletrechartsBase44SerpApi

Disclosure

This case study describes an internal R&D product built by Gulfturn Creative. Quantitative results are not_disclosed pending measurement. The autonomous agent relies on the searchLocalBusinesses backend function for all database writes; CRM sync and email outreach require explicit human action. Client name (Gulfturn Creative) is publicly disclosed.

Next Step

See the Local LeadScout platform

Tell us about your mission or workflow and we'll show you how we'd approach it.

Discuss a Platform