Joshua Mendoza — GoHighLevel expert, AI automation and web developer

Open for new projects

GoHighLevel expert, AI automation and web developer. I design high-converting websites, scalable ad systems and automated workflows that turn traffic into paying clients — for dental, automotive, HVAC, home services, education and coaching since 2022.

See my work
Learn more↓

How a project starts

A real conversation, a real build.

Based on the North City Roofing project. Here's how it started, and what came next.

NC

We're a roofing company in the Bay Area. Leads come in from our website and Yelp, but too many go cold before anyone calls back.

Got it. I'll connect every lead source into one pipeline, answer each lead in seconds, and give your team an app to run inspections from the roof.

NC

All of that? Perfect. When do we start? 🙂

Now. Scroll down, I'll show you exactly what I built.

Now!↓

Case Study 01 · Oct 2026

North City Roofing — from first click to signed job.

An AI-powered lead engine and an installable operations app took a Bay Area roofer from five scattered tools and missed leads to one connected pipeline.

Client
North City Roofing · Santa Clara County, CA
Role
Automation architecture, product design, full-stack dev
Stack
GoHighLevel · Zapier · JobNimbus · React · Supabase

Live at dashboard.northcityroofing.com · private client app

North City Roofing owner dashboard with KPI cards and a 90-day chart

The problem

Leads were lost before anyone reached a roof.

  • Website leads waited on a callback

    Someone still had to follow up, find a time, and book the estimate by hand.

  • Yelp leads stayed trapped in Yelp

    Many arrived after hours, often with no phone number. If no one replied fast, the homeowner hired the next roofer.

  • Every qualified lead was retyped

    Leads were copied into JobNimbus by hand, where sales runs its jobs. Slow, and easy to get wrong.

  • Five disconnected tools

    A CRM, paper forms, a separate calendar, an assignments spreadsheet, and a folder of PDFs no one could find.

  • Paper inspections

    Forms filled out on rooftops were retyped later. Nobody knew which jobs were worth pursuing for weeks.

  • 43,000 duplicate contacts

    Repeated CRM syncs made the contact list unusable.

SourceWebsite form4-step, booking-first
SourceYelpvia Zapier
HubGoHighLevel17 workflows · AI voice agent · SMS/email alerts
FieldTeam AppSupabase · 6-step inspection · two-way sync
GateQualifiedInspector's one-tap verdict
SalesJobNimbusLead created, no retyping
AlertTeam SMSSales knows instantly
Website and Yelp leads flow into GoHighLevel, which syncs both ways with the team app. Qualified inspections go to JobNimbus, and the team gets an SMS alert.

Layer 1 · Lead engine

Every lead captured, answered, and routed in seconds.

17 live GoHighLevel workflows and 100+ custom fields handle each lead from the website or Yelp, day or night.

A booking-first estimate form

Eight services (roofing, repairs, gutters, cleaning, skylights, inspection, roof coating, and rejuvenation), plus a one-tap toggle for financing interest. On submit a booking calendar opens right away, so the homeowner leaves with an appointment instead of a "we'll call you."

North City Roofing website
  1. ServicePick from eight roofing services
  2. PropertyType, size, and financing interest
  3. AddressWhere the job is
  4. ContactThen the calendar opens instantly

Yelp, straight into the CRM

A Zapier integration creates or updates each new Yelp lead as a GoHighLevel contact, with the Yelp Lead ID, the requested service, and the homeowner's full project answers. A bot engages each lead immediately, even after hours.

Zapier run: Yelp new lead feeding LeadConnector Add/Update Contact
6 workflows

Website

Create the contact and opportunity, assign a team member, tag by source, property, and service, fast-track emergencies and financing, and alert the team. An AI voice agent calls urgent-repair leads to finish intake.

  • Form Intake
  • AI Intake
  • AI Urgent Repairs
  • Calendar Form Webhook
  • Lead → Assign Bot
  • Appointment Booked
7 workflows

Yelp

Engage every Yelp lead instantly, recover leads that go quiet or don't book, confirm bookings, and follow up on won jobs.

  • Lead → Assign Bot
  • Detect Abandoned
  • Abandoned Workflow
  • Bot – No Booking
  • Booking Confirmed
  • Send to JobNimbus
  • Won Workflow
4 workflows

Dashboard Sync

Keep GoHighLevel and the team app in sync: contacts, calls, inspections, and assessments.

  • Contact to Dashboard
  • Call Completed
  • Visit Inspection Completed
  • Assessment Form Webhook

Deep dive

The JobNimbus handoff

Qualified leads reach the sales team's job system with zero retyping and zero duplicates.

GoHighLevel workflow: triggers, duplicate check, custom code, lead-source branch, webhooks to JobNimbus, and SMS alerts 12345
  1. TriggerA contact is tagged qualified, or its pipeline stage changes.
  2. Duplicate guardIf the contact already carries the sent_to_jobnimbus tag, the flow stops.
  3. FormatCustom code builds the payload.
  4. Route by sourceA branch checks the Yelp Lead ID, so Yelp and website leads each arrive with the right data.
  5. SendThe contact is tagged as sent, a webhook creates the lead in JobNimbus, and the team gets an SMS.

Layer 2 · Operations app

One role-based app replaces five tools.

The owner runs the business from a command center, and inspectors run assessments from the roof. Click a phone to watch it full size.

Owner command center
Member app, built for the roof

Owner command center

  • Team Performance: live KPIs for today, this week, and this month, plus 7/30/90-day analytics. A server-side Postgres function keeps it fast across 31,000+ contacts.
  • Top Performers: team members ranked by assigned and completed inspections.
  • Leads pipeline: every assessed contact marked Qualified or Not Qualified, with a full assessment drawer and CSV export. Status syncs back to the CRM.
  • Daily operations: Priorities, Contacts with tap-to-call, Team, live-synced Calendars, Appointments, Admin Booking, Sales Form, Announcements, and Files & Completions.

Member app

  • Assignments move through Start → Continue → Completed.
  • A 6-step wizard: project details, roofing material, wood damage, vents and flashings, materials and access, and final review. Large tap targets, autosave, and a sticky action bar make it usable on a phone in the sun.
  • Instant qualification: "Is this a qualified lead?" updates the CRM in real time.
  • Branded PDF reports are generated automatically, viewable in the app, and saved to the contact.
The NC Roofing app icon on an iPhone home screenAdd to Home Screen

Installable

Installs like a native app.

The dashboard is an installable web app on iOS and Android, with its own branded icon. It opens full screen and needs no app store or update queue.

  • iOS: Safari → Share → Add to Home Screen
  • Android: Chrome → Install app

North City Roofing · Mobile

The ops dashboard, in your pocket.

Built mobile-first for the field team. Drag the rail, or hover its edges to let it glide. Click any screen to open it, then use the arrows to flip through.

Visit the live dashboard →

Not just a website

An app they actually install.

Every business runs differently, so every app I build is different too: priorities, team views, live analytics, whatever the job needs. This one is running on North City Roofing's field team's phones right now.

Install on Home Screen

Built for a roofing company here. The same system works just as well for dental, HVAC, coaching, or whatever runs your business.

Technical highlights

Built to stay fast and clean at scale.

  • CRM sync that scales

    Upserts run in 500-row batches on a unique contact ID, with deduplication before every write and a guard against overlapping runs. 43,000 duplicates gone for good.

  • Server-side analytics

    Chart counts run in Postgres, so the dashboard stays instant at any contact volume.

  • 100+ custom fields

    Mapped across GoHighLevel, the dashboard, and JobNimbus.

  • One webhook, one payload

    Each assessment sends the full scope, the PDF link, the qualification answer, and the inspector's identity in one request.

  • Real-time by default

    Supabase realtime keeps every view current without a refresh.

  • Safe handoffs

    Tag guards make sure no lead is ever sent to JobNimbus twice.

Results

What changed

  • No more lost leads. Website and Yelp leads land in one CRM with instant replies and booking, day or night.
  • Abandoned leads are recovered automatically instead of forgotten.
  • One app replaces five tools.
  • Paper to PDF in minutes. Inspections are captured on a phone, on the roof.
  • Instant qualification. The office sees the verdict the moment an inspector submits, not weeks later.
  • 43,000 duplicates eliminated and prevented from returning.
  • Zero double entry. Qualified leads flow into JobNimbus automatically.

What's next

On the roadmap

  • Offline mode for the inspection wizard, for rooftops with weak signal.
  • Personal performance analytics for each inspector.

Built end to end: automation architecture, product design, front-end engineering, CRM integration, and database optimization.

Real results

Systems that generate revenue.

Not promises. Live numbers from systems currently running for clients.

Selected work

Flagship builds.

Websites, AI agents and the automation systems running behind them.

Valle Del Sol Cabo · Featured automation

OpenTable → Make.com → GHL reservation campaigns.

Every OpenTable reservation at Torote, the on-site restaurant for Valle Del Sol's development, flows into GoHighLevel and triggers a branching WhatsApp, email, and SMS sequence. It's one of several event-driven systems running behind valledelsolcabo.com →

OpenTableReservation trigger
Make.comAutomation router
GoHighLevelContact + pipeline
WhatsAppEmailSMSTeam alert
  • 3-StageCountdown sequence
  • 4Channels triggered
  • 24/7Live & fully automated
Make.com scenario: Torote OpenTable reservations to GHL with HTTP requests, iterator, and skip filters
OpenTable → GHL contact syncThe Make.com scenario polling OpenTable reservations, filtering cancelled/skipped guests, and pushing each one into GHL via /contacts/upsert.
GoHighLevel workflow builder with branching WhatsApp, email, and SMS sequences
Full workflow, trigger to outcomeThe complete tag-based trigger tree inside GHL: every branch, delay, and channel from the first reservation ping to a delivered confirmation.

Reservation reminder & confirmation sequence

Fires on a 7-day, 24-hour, and 2-minute countdown to every reservation. It branches on the guest's reply ("Yes, Walk Me Through" / "No, Just Dinner" / timed out) and fans out into WhatsApp confirmations, backup emails, and an internal team notification the moment a guest responds. Delivery is tracked end to end on every channel.

  • Countdown Logic
  • Branching
  • Delivery Tracking

OpenTable → GHL contact sync

Every new reservation instantly creates or updates the guest's contact record in GoHighLevel, tagged, timestamped, and ready for the sequence to fire without a single manual step.

  • Make.com
  • Webhook Sync
  • Auto-Tagging

Appointwise · Featured automation

A booking agent wired straight into GoHighLevel.

A conversational AI agent built entirely inside GoHighLevel's conversation builder. It qualifies leads, answers questions, handles objections, and books the call without a human ever touching the conversation.

Appointwise conversation builder inside GoHighLevel
The full conversation builderEvery branch of the agent: qualification questions, objection handling, booking hand-off, and lost/won outcomes.
Appointwise, live in conversationQualifying the lead and booking the appointment automatically, no human in the loop.

Automations in action

See it running, live.

Automated Google review requests and missed-call text-backs. Both fire instantly, 24/7, with zero manual work on your end. Tap the phone to watch the demo.

⭐ Automated Google reviews

The moment a job is marked complete, the customer gets a text asking for a review, with a direct link straight to the Google listing. No app required.

📞 Missed call text back

Miss a call and the caller instantly gets a text back, so no lead ever goes cold just because nobody picked up in time.

Full-funnel marketing

I build the funnel. I run the ads. I wire it all together.

Landing pages engineered to convert, Meta & Google Ads driving traffic into them, and every platform (Meta, GoHighLevel, Zapier, Make, custom webhooks) wired together so no lead ever falls through the cracks.

  1. Stage 01

    Traffic & ads

    Meta & Google Ads campaigns with AI-generated creatives targeting the exact buyer.

  2. Stage 02

    Landing page / funnel

    High-converting funnel pages built to capture the click and drive one clear action.

  3. Stage 03

    Meta → GHL integration

    Meta Lead Ads, Conversions API, and pixel events synced straight into the CRM pipeline.

  4. Stage 04

    Cross-platform automation

    Zapier, Make, and custom webhooks connecting GHL to any tool a business already runs on.

  5. Result

    Booked client

    Follow-up runs itself until the lead is qualified, booked, and sitting in the pipeline.

The funnel, live on a real phoneA walkthrough of the funnel and booking flow exactly as a lead sees it on their own device.
Sales funnels for Trusted Home Service Pros and Trusted Roofing Pros
Sales funnelsNationwide, Angi-compliant lead-matching platforms: 15+ core pages, thousands of SEO landing pages, and the funnels that turn that traffic into booked jobs.
rayanova.io
Rayanova booking funnel
edigishark.com
eDigiShark lead magnet funnel
booking step
Rayanova booking form modal

Three funnels, one frame. Hover to pull each one forward.

Behind the scenes

Team ops & real-time notifications.

The internal system that keeps a whole team in sync, from a new lead hitting the CRM to a human replying in Slack.

    Automation library

    Real workflows, straight from the builder.

    Screenshots of live GoHighLevel, Make, Zapier and Supabase builds. Click any one to open it full size, then use the arrows to flip through.

    See every automation explained →

    3D website highlights

    Premium websites, built in 3D.

    Scroll-driven 3D builds for local service businesses, recorded live in desktop view. Pick an industry, or click the screen to watch it full size.

    Recent websites built

    Fresh off the build.

    Every video is a real screen recording. Click one to watch it full size.

    Premium builds

    Premium websites, brought to life.

    Every premium build gets the same polish on desktop and mobile. Here's one in motion on both, captured straight from a live client site.

    The archive

    Client sites, funnels & personal builds.

    Filter the rail, drag it, or hover the edges. Every card opens the live site.

    AI Voice Agent

    Your phone rings. Something always answers.

    An AI agent that picks up every call, day or night, weekends, holidays, mid-job, and actually gets things done instead of taking a message. It's live right now on the Meridian Plumbing demo.

    • Answers every callPicks up in seconds, 24/7. No hold music, no voicemail.
    • Books the appointmentFinds an open slot and puts it straight on the calendar.
    • Qualifies the leadAsks the right questions and flags who's ready to buy.
    • Reschedules on requestMoves a booking the moment a customer needs to shift it.
    • Cancels cleanlyHandles cancellations and clears the slot for someone else.
    • Follows up on missed callsA missed call still gets a callback or text within minutes.
    📞 Call the live demo

    agent live · answering calls 24/7

    What I do

    Skills & services.

    Six core disciplines, ten services, one goal: systems that turn traffic into booked, paying clients.

    FAQ

    Good questions.

    Where I've worked

    Industries served.

      Current role · 2026–present

      Regas Media

        Behind the brand

        Built to break
        the template.

        Every pixel,
        on purpose.

        Systems that
        hold together.

        Logo in motion

        A closer look at the mark itself.

        Reveal animation, concept render, and the clean mark.

        JOSHUA MENDOZA

        Antipolo, Rizal · Philippines

        I build websites, funnels and automations that keep working while you sleep.

        I've been building GoHighLevel systems, websites and ad funnels since 2022, for dental clinics, roofers, HVAC and home service companies, restaurants, academies and coaches across the US, Canada, Mexico, Ireland, the UK and Australia.

        Before that, I served a full-time mission for The Church of Jesus Christ of Latter-day Saints (2023–2025) as an Administrative Assistant, managing schedules and communication for leadership teams, keeping confidential records, and training new volunteers. Earlier, I worked as a Marketing Researcher with Bloom, Clear Insights (Lehi, Utah, remote), recognized for consistently exceeding quality and productivity standards.

        That's where the habits come from: organized, detail-oriented, deadline-driven, and clear communication in English (plus basic Spanish).

        Joshua Mendoza

        .Systems & automation

        • GoHighLevel
        • Zapier
        • Make
        • n8n
        • Webhooks
        • REST APIs
        • Appointwise
        • monday.com
        • Slack API
        • Supabase
        • Firebase

        .Web development

        • HTML / CSS / JS
        • WordPress
        • Framer
        • Duda
        • GitHub
        • VS Code
        • Vercel
        • Hostinger

        .AI

        • Claude Code
        • Anthropic API
        • ChatGPT
        • Gemini
        • Genspark
        • Manus
        • Fal.ai
        • Nanobanana
        • Blotato
        • Postiz

        .Ads & creative

        • Meta Ads
        • Google Ads
        • Canva
        • CapCut
        • Photoshop
        • PicsArt
        • PixelLab