Case study · Web + CRM + AI
Florida Keys Cleaning
A South Florida cleaning company now runs on custom software: an AI receptionist that prices homes from county property records mid-call, automatic scheduling and contractor pay, four portals, and two-way QuickBooks sync. More than 100 modules, about 40,000 lines of code, live in production.
By Luke Jacobsen, Founder of Current Layer Intelligence · Published · Updated
The short version
Florida Keys Cleaning LLC cleans homes and vacation rentals from Fort Lauderdale to Key West. Current Layer Intelligence built the whole system the business runs on, not just the website: an AI receptionist that prices a home from county property records while the caller is still on the phone, online booking, a GoHighLevel CRM, and a full operations platform with portals for the owner, cleaners, clients and referral partners, automatic scheduling, contractor pay, quality inspections and two-way QuickBooks Online sync. It is more than 100 custom modules and about 40,000 lines of code, running in production.
Pricing a home from county property records
Most cleaning companies quote by asking how big the house is. This one looks it up. A customer types or says an address; it is geocoded with Mapbox and matched against the Florida Department of Revenue statewide cadastral parcel layer by spatial point-in-polygon search. If the pin lands in a street or a canal, it retries with a buffer and the nearest parcel centroid. The match returns the home's assessed value, square footage and land-use code with a confidence flag, and the price adjusts from there, so the customer never has to pick a "luxury tier."
- A house-number guard refuses to price a parcel whose county house number doesn't match what the caller said, so nobody is quoted off the wrong home.
- Commercial detection: when the land-use code says a parcel is institutional or commercial, the call routes to a commercial intake instead of a residential loop. The first stranger who ever called was a marine laboratory with three dorm buildings, and that call is why this exists.
- A commercial estimator prices offices, bank branches, medical suites and builder turnovers by square footage, phases, crew and hours, and shows the profit before the bid goes out.
An AI receptionist that quotes and books on the call
The voice agent runs on GoHighLevel Voice AI and calls the site's own pricing API mid-conversation. It asks for bedrooms, bathrooms and service type, quotes the price, and books the slot. Bookings land as pending, never confirmed, so the owner approves each one; requests inside the 48-hour lead time and same-day emergencies are escalated to a person instead of booked.
- Spoken addresses. Real callers say "seventeen hundred Manor Lane," not "one seven zero zero." The address parser was tested by sweeping 37,386 address strings over 13,532 real addresses from Fort Lauderdale to Key West; failures dropped from 10,279 to 5.
- Caller ID guard. The platform overwrote the carrier's caller ID with the number the agent heard, so one misread digit made a lead undiallable. A server-side rule now always keeps the carrier's number.
- Day capacity. A deep clean takes the crew all day, so booking one closes the rest of that day on the calendar automatically.
- A test harness of 31 pass/fail checks (real addresses, misheard forms, traps, out-of-area, bed/bath and service cases) runs with every cache wiped, so a fix is proven, not claimed.
Booking and approvals
- Online booking offers real open calendar slots and writes a pending request tied to the customer's quote reference, so nobody can attach a booking to someone else's quote.
- Approve from a text. Every request texts the owner the full details with one link to approve or decline it from his phone.
- Quote funnel analytics show how many visitors reach each step of the booking wizard and where they drop off, over 7, 30 and 90 days, alongside phone calls.
The operations platform
- Automatic assignment. New jobs go to the preferred cleaner, then someone in the same market inside their drive radius, on a day they work, employees with hours left before contractors by distance. Every assignment records why.
- Job offers and bids. The owner can offer a job to one cleaner at a set pay, or broadcast it so contractors name a price and he picks a bid.
- Markets and storm mode for a service area that runs the length of the Keys.
- Required checklists. "Complete job" stays locked, in the app and on the server, until every step is ticked, and photo steps can't be ticked without an after-photo.
- Vacation-rental photo protocol: two opposing shots of every room, from the doorway and from the far corner.
- Quality inspections with per-area star scores and photos, a cleaner scorecard, and redo jobs.
- Client health: a nightly model flags customers drifting past their usual cleaning rhythm and quotes that never booked, with the yearly value at stake.
- Daily Excel reports (bookings, revenue, staff pay) generated on the server and served behind an admin-only download.
Money and QuickBooks
- Two-way QuickBooks Online sync. A void or payment made in the portal lands in QuickBooks and the reverse; a payment already keyed in QuickBooks blocks a second one in the portal. Invoice numbers open a live QuickBooks-style invoice that can be edited, paid, sent or voided in place.
- Contractor pay: per-unit rates, weekly self-billing invoices for contractors, and the pay batch for the bookkeeper.
- Real profit per job, counting employer payroll tax and supplies, not just what the cleaner takes home.
Apps for cleaners, clients and partners
- Cleaner app in English or Spanish, per person. The crew is Spanish-first, so each cleaner's screens, dates and notifications render in their own language.
- Web push notifications, private calendar feeds for every person, and Google Calendar sync for the owner, cleaners and clients.
- Client portal with a progress donut toward the next free cleaning, the same chart the owner used to draw in spreadsheets.
- Partner program: real-estate agents, property managers and condo associations get a code and QR; their referrals save on the first cleaning and the partner earns credits. Condo and HOA credits go only to the association account, never to a person, to stay inside Florida law.
Security and data
- An encrypted vault for driver's licenses, W-9s and insurance certificates, instead of the public media library where WordPress puts uploads by default.
- Hardened logins on the portals, which hold customer addresses, lockbox notes, staff pay and the business's financials, plus rate limits on every public endpoint.
- A staging guard that cuts every outbound call to the client's live CRM, so testing can never text a real customer.
Built to be accessible
At launch, all 8 tested pages scored 100 for accessibility in Lighthouse and passed automated WCAG 2.1 AA checks with axe-core, with keyboard focus, skip links, alt text and language tags handled. The same work is offered as a standalone ADA accessibility service.
Stack
WordPress (100+ custom PHP modules), GoHighLevel (CRM, Voice AI, calendars, A2P 10DLC texting), Florida DOR cadastral ArcGIS layer, Mapbox geocoding, QuickBooks Online API, Google Calendar API, Web Push, server-side cron on SiteGround.
Questions
What did Current Layer Intelligence build for Florida Keys Cleaning?
The whole system the business runs on: the website, online booking, an AI phone receptionist that prices homes from county property records during the call, the GoHighLevel CRM, owner, cleaner, client and partner portals, automatic scheduling, contractor pay, quality inspections, and two-way QuickBooks Online sync. More than 100 custom modules and about 40,000 lines of code.
How does Florida Keys Cleaning price a home from its address?
The address is geocoded with Mapbox and matched to the Florida Department of Revenue statewide cadastral parcel layer by point-in-polygon search. The parcel’s assessed value, square footage and land-use code set the price, with a house-number check so a quote is never based on the wrong property.
How does the AI phone receptionist work?
It answers the phone, quotes a cleaning from the home’s bedrooms, bathrooms and service type, and books it into the calendar as pending. The owner approves every booking before it is confirmed. Same-day and emergency requests are escalated instead of booked.
Is the Florida Keys Cleaning website accessible?
Yes. At launch, all 8 tested pages scored 100 for accessibility in Lighthouse and passed automated WCAG 2.1 AA checks with axe-core.