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
Receiving quote requests (Netlify Forms)Works once hosted on Netlify; set up email alerts
Jobber / Housecall Pro / ZapierNot connected (optional later)
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. Host on Netlify. Make a free Netlify account, choose Add new site → Deploy manually, and drag in the folder containing index.html. Forms only work on Netlify hosting, not when you open the file on your computer.
  2. Confirm the forms. In Netlify go to Forms. You should see residential-quote and commercial-inquiry. If not, redeploy.
  3. Turn on email alerts. Project configuration → Notifications → Form submission notifications → Add notification → Email, then enter humbleheartedcleaningllc@gmail.com. Choose each form or all forms.
  4. Test. Submit both forms on the live site, confirm the emails arrive, and delete the test entries in Netlify.
  5. Add your domain. Domain management in Netlify.
  6. Before going public, delete this whole Owner tools block from the file.
  7. Later (optional): Netlify can send each submission to Zapier, which can create records in Jobber or Housecall Pro. Keep customer messages as drafts you approve.
  8. Compliance. Texting customers needs their consent (the form checkbox records it). Add a privacy policy and have a professional review your wording.

Fields received: name, phone, email, zip, service, sqft, beds, baths, date, freq, notes, company, ptype, units, svc, consent. Residential and commercial requests arrive as two separate forms.