Context
Recruiting is the biggest ongoing job at MaidThis. Most new cleaning teams don’t last, so we always need applicants coming in. In the summer I ran a three-week hiring sprint with the team and tracked every stage. It showed two problems. Only about a third of Indeed applicants were reaching our system, and the team was spending hours each week scheduling interviews and collecting paperwork.
What I changed

- Two-step application. Name, phone and email come first, then the longer form. If someone stops partway, we still have their contact info.
- Routing on screening questions. A candidate’s answers decide where they go next, so the team only spends time on people who meet the basics.
- A recruiting bot. It books interviews, sends reminders and collects paperwork. The team only steps in for the interview and the onboarding call.
- Apply-by-link on Indeed. Indeed applicants now land in our system instead of getting stuck on Indeed’s side.
Results
Same Indeed ads and same market, tracked stage by stage.
| Old pipeline (3-week sprint, summer) | New pipeline (first 5 weeks, fall) | |
|---|---|---|
| Ad spend | $450 | $200 |
| Applicants reaching our system | 276 of 807 (about a third) | 124 of 127 |
| Reached the interview stage | 65 invited | 33 booked by the bot |
| Reached onboarding | 11 | 16 |
| Cost per onboarded team | $40.91 | $12.50 |
Fall is usually our harder season to hire, so the improvement didn’t come from easier timing.
What broke and how I fixed it
- The bot booked 30-minute slots for 20-minute interviews. That pushed candidates about a week out and led to more no-shows. I shortened the slots.
- Rescheduling still had to be done by hand. I added a manual trigger so the team can restart the booking flow in one click.
What I’d do differently
- Track the hiring funnel by stage from the first day, instead of waiting until something looks wrong.