Call Get a quote

Cleaning with care and compassion.

Fully insured cleaning services for homes, offices, rentals and apartment communities in Jacksonville, Florida and all surrounding areas. Tell us about your space and we'll reply with a quote.

What we do

Residential cleaning

Weekly, biweekly or monthly visits for your home.

Deep cleaning

Baseboards, appliances, buildup and the spots regular cleans skip.

Move-in / move-out

Empty-home cleans for tenants, owners and listings.

Apartment turnovers

Fast unit turns so vacancies get re-rented sooner.

Office cleaning

Recurring janitorial service for small and mid-size offices.

Post-construction

Dust, debris and final-clean for builders and remodels.

Property maintenance

Routine upkeep and small repairs for managed properties.

How it works

You send details

Choose a service and tell us the size of the space.

We review

A team member reviews every request personally.

You get a quote

We contact you with an estimate and available times. Nothing is booked until you agree.

Where we work

Based in Jacksonville and serving the surrounding communities, including:

Duval County

Jacksonville, Jacksonville Beach, Atlantic Beach, Neptune Beach, Baldwin, Mandarin, Riverside, San Marco, Arlington, Southside, Orange Park Acres

Clay County

Orange Park, Fleming Island, Middleburg, Green Cove Springs, Oakleaf, Penney Farms, Keystone Heights

St. Johns County

Ponte Vedra Beach, Nocatee, Julington Creek, Fruit Cove, St. Johns, St. Augustine, Palm Valley

Nassau County

Fernandina Beach, Yulee, Callahan, Hilliard

Don't see your area? Ask us. We're happy to check.

Request a quote

← Back to website

Owner tools

1. What works and what doesn't

FeatureStatus
Responsive site, both quote forms, validation, spam trapWorking
Sending form data to ZapierWorks after you paste your webhook URL
Jobber / Housecall Pro record creationSet up in Zapier (section 4)
Two phone numbers and email (verify 904-219-6716 before launch)Set
Insured and service-area textSet
Dashboard belowDemo with fake sample leads
Follow-up messagesDrafts only; nothing sends automatically

Approval rule: this site never sends estimates or messages to customers. Forms only send the lead to you. Every customer message in this design is a draft you approve first.

2. Lead dashboard concept sample data

LeadServiceSourceStageNext step (you approve)

Leads by source

To make this real, have Zapier add every lead to a Google Sheet or your Jobber/Housecall Pro pipeline, then build this view in Looker Studio or the CRM's own reports.

3. Follow-up drafts approve before use

4. Deploy and connect

  1. Edit the site. Open index.html. Confirm the insurance and service-area wording, and add a license number if you want one shown. Delete the Owner tools block and the footer link to it.
  2. Host it free. Create a Netlify, Cloudflare Pages or GitHub Pages account, drag in the file, then add your domain in the host's settings.
  3. Create the Zap. In Zapier choose trigger Webhooks by Zapier → Catch Hook. Copy the URL and paste it into FORM_ENDPOINT in the script. Submit a test form so Zapier sees the fields.
  4. Add actions. (a) Jobber or Housecall Pro: create a Client and a Request/Lead from the fields. (b) Google Sheets: add a row. (c) Email or Slack: notify yourself. Use the type field in a Filter or Paths step to separate residential from commercial.
  5. Keep approval in the loop. Create customer messages as drafts (Gmail "Create Draft") or send them to yourself first. Do not add a Zap step that emails or texts the customer directly.
  6. Test. Submit both forms, confirm the records appear, and check that no message went to the test customer.
  7. Compliance. Texting customers needs their consent (the form checkbox records it). Add a privacy policy page and have a professional review your wording.

Fields sent to Zapier: type, name, phone, email, zip, service, sqft, beds, baths, date, freq, notes, company, ptype, units, svc, consent, source, submitted_at.