A one-person cleaning business people trust and rebook.
For busy Denver households who want the same trusted person in their home every time, Dust til Dawn is you: one cleaner, an honest price before they book, and no charge until the job is done. Franchises send whoever is free that day, and apps take a cut and change cleaners. You learn each home and keep it the way the client likes it. Compete on that, never on being cheapest.
Your starting prices
You can change any of these yourself from the admin page, any time.
| Home | Standard | Deep | Every 2 weeks |
|---|---|---|---|
| Studio or 1 bed, 1 bath | $130 | $180 | $117 |
| 2 bed, 1 bath | $145 | $220 | $130 |
| 3 bed, 2 bath (about 1,700 sq ft) | $220 | $330 | $198 |
| 4 bed, 3 bath (about 2,200 sq ft) | $300 | $450 | $270 |
Move-in and move-out cleans are about 1.75× a standard clean. Extras like inside the oven or fridge are $35 each. Recurring plans start with one deep clean, then every visit is a standard clean at the discount: 15% off weekly, 10% every two weeks, 5% every four weeks.
Time your first 10 cleans. The site books each job for a set time based on rooms (a 3-bed, 2-bath standard clean is booked for 3½ hours). If you're regularly 15 minutes or more over, the time and the price both need to go up. Tell Garrett, or change them in admin.
What a clean actually earns you.
The price isn't what you keep. Driving, card fees, supplies and taxes all come out of it. Here is one typical regular clean: a 3-bed, 2-bath home every two weeks.
| One regular clean | Amount |
|---|---|
| Client pays | $198 |
| Card fee (2.9% + 30¢) | −$6 |
| Supplies (rough estimate) | −$5 |
| Driving, about 15 miles at the IRS rate of 72.5¢ a mile | −$11 |
| Your share of insurance, phone and marketing | −$4 |
| Profit before tax | $172 |
| Set aside 25% for tax | −$43 |
| Yours to keep | $129 |
| Your time: 3½ h cleaning, 30 min driving, 15 min texts and charging | 4¼ hours |
| Per hour, after tax | about $30 |
That's about $40 an hour before tax. Tips come on top. Deep and move-out cleans earn more per hour, because the drive is spread over a longer job. Small homes far away earn the least, which is why the $130 minimum and the travel fee exist. Track your real supply costs for a month and swap in your own number.
What a full week looks like
Full doesn't mean every hour. Plan on two cleans a day Monday to Thursday and one on Friday, leaving Friday afternoon for books, texts and marketing. That's 9 cleans and about 40 hours, including driving. Cleaning is hard on backs, knees and wrists, so treat 9 a week as your ceiling, not your floor.
A full year, roughly. About 8½ cleans a week (after skips and cancellations), for 46 working weeks (six off for holidays, vacation and sick days), at about $190 a visit, is roughly $74,000 coming in. Costs (card fees, supplies, driving, insurance, phone, marketing) are about $10,000. That leaves about $64,000 profit. After about 25% for tax, that's about $48,000 to live on, or $4,000 a month, before health insurance and retirement savings.
This is an illustration, not a forecast. It assumes 16 or 17 regulars, mostly every two weeks, plus a few one-time cleans.
Your first six months
Two versions. Steady is what happens with ordinary, consistent effort. Target is what happens if the 90-day plan below goes well. Either is a good start.
| Month | Steady: regulars | Cleans a week | Per month | Target: regulars | Cleans a week | Per month |
|---|---|---|---|---|---|---|
| 1 | 2 | 1½ | $1,200 | 4 | 3 | $2,500 |
| 2 | 4 | 2½ | $2,100 | 6 | 4 | $3,300 |
| 3 | 5 | 3½ | $2,900 | 9 | 5½ | $4,500 |
| 4 | 7 | 4½ | $3,700 | 11 | 6½ | $5,300 |
| 5 | 9 | 5½ | $4,500 | 13 | 7½ | $6,200 |
| 6 | 10 | 6 | $4,900 | 15 | 8½ | $7,000 |
Per month is money charged, before costs and tax, at about $190 a visit. Regulars are counted as every two weeks, plus about one one-time clean a week (fewer in the first two months). Month 1 is tight: Stripe's first payout usually takes 7 to 14 days, and the founding-client discount is in play. Have a month of personal expenses saved before you start if you can.
Milestones
| Milestone | Target |
|---|---|
| Website live, first booking through it | Week 2 |
| Google profile verified, first 3 reviews | Month 1 |
| 9 regulars, 10 reviews | Month 3 |
| 15 regulars, 20 reviews, about 8 cleans a week | Month 6 |
| 8 or more cleans a week for a month, or a waitlist: raise prices for new clients | When it happens |
Why 20 reviews: in BrightLocal's 2026 survey, 47% of people said they won't use a business with fewer than 20.
Get set up, then get found.
Roughly in order. The first two groups get you legal and live. The rest bring in clients and keep the money straight. Items marked "Garrett" are his.
Ticks are saved in this browser.
Picking your Google Voice number
Search by area code (720 or 303) and digits. Letters map to phone keys. A word in the last four digits is the realistic goal; any easy 720 number is fine too. Send it to Garrett so the site, emails and Google profile all match.
3878e.g. 720-555-DUST3296e.g. 303-555-DAWN25326e.g. 720-55-CLEAN8439e.g. 720-555-TIDYThe free version of Google Voice is built for personal use and has limits on texting. It's a fine start; a paid business line can come later if you outgrow it.
It quotes, books and gets you paid while you're cleaning.
Most cleaners make people call for a quote. Your site shows the exact price in under a minute and lets them book a real open time, so you're not stuck on the phone between jobs.
What a client does
- Enters their ZIP, bedrooms and bathrooms and sees the price instantly.
- Picks a day and time from your actual calendar.
- Adds their address, how you'll get in, and any notes.
- Saves a card with Stripe. Nothing is charged yet.
- Gets a confirmation email with a calendar invite.
What you do
- Get an email: "New booking", with all the details. It's also on your Google Calendar.
- Do the clean.
- Open your admin page and tap Charge. Adjust the amount if the job changed.
- The client gets a receipt with a link to tip you and leave a review.
- For regulars, the next visit is booked automatically.
Everything it does
Instant pricing
Price by bedrooms, bathrooms, size, pets and extras, plus a travel fee for longer drives. You set every number.
Real availability
Only shows times you're free. Anything on your Google Calendar blocks that time, so you can book a dentist appointment and the site knows.
Card on file
Stripe keeps the card safe. You never see card numbers. Your first payout usually takes 7 to 14 days. After that, money lands in your bank about two business days after you charge.
Cancellations handled
Clients can cancel free up to 24 hours before. Later than that, a 50% fee is charged automatically. Lockouts can be charged from admin.
Recurring plans
Weekly, every two weeks or every four weeks, at a discount. The next visit stays booked, and clients can skip, pause or reschedule from their own account.
Your admin page
On your phone: today's jobs, who to charge, addresses with map links, private notes per client, and your prices and hours.
Your routine, in four lines
- Morning: check your Google Calendar. Addresses and door codes are in each event.
- After each clean: admin → tap the job → Charge. Ten seconds.
- Day off or vacation: add it to your Google Calendar. Nobody can book it.
- Same afternoon: text the client your review link (the script is below).
Reminder emails the day before aren't switched on yet. Until Garrett ticks that off below, text tomorrow's clients yourself.
The same great clean, every time.
Consistency is what clients pay a solo cleaner for. These are your house rules. Open each one when you need it.
Your checklist and order of work
Work the same way every time, so nothing gets missed and you get faster.
- Spray tubs, showers and toilets first, so the cleaner works while you do the rest.
- Top to bottom: dust high, then surfaces, then floors.
- Dry before wet: dust and vacuum before you mop.
- Back of the house to the front door, so you never walk on a clean floor.
- Kitchen: counters, outside of appliances, stovetop, inside the microwave, sink and faucet, cabinet fronts, floor.
- Bathrooms: mirror, sink, counter, toilet inside and out, tub and shower, fixtures, floor.
- Bedrooms and living areas: dust reachable surfaces, make beds if sheets are left out, empty bins, vacuum, mop hard floors.
- Last: walk through with the checklist, turn off lights you turned on, lock up as the notes say.
Deep cleans add baseboards by hand, door frames, light switches, vents and the extras booked. Keep a printed copy in your caddy for the first month.
How long each job is booked for
The site books jobs with these times. Your goal is to finish within them.
| Home | Standard | Deep | Move-out |
|---|---|---|---|
| Studio or 1 bed, 1 bath | 2 h | 3 h | 3½ h |
| 2 bed, 1 bath | 2½ h | 3½ h | 4 h |
| 3 bed, 2 bath | 3½ h | 5½ h | 6½ h |
| 4 bed, 3 bath | 5 h | 7½ h | 8½ h |
Each extra adds 10 to 40 minutes. Regular visits are booked for the same time as a one-time standard clean. Write down your start and end time for your first 10 cleans. If you're over on most of them, the times and prices go up. If regular visits run well under, tell Garrett: they're earning more than planned.
The site can't book more than 8 hours in a day, so the biggest move-outs show a price but no open times. If a client asks about one, plan it with them by text.
Supplies starter kit
- A HEPA vacuum of your own (canister or backpack). Client vacuums vary too much. This is the big purchase.
- A flat microfiber mop with washable pads.
- About 40 microfiber cloths in two colors: one color for bathrooms only, one for everything else. Never mix them.
- All-purpose cleaner, glass cleaner, bathroom cleaner, degreaser, and a stone-safe cleaner for granite and marble.
- Scrub brushes, a grout brush, melamine sponges, an extendable duster.
- Nitrile gloves, knee pads, shoe covers, a two-step stool, trash bags, a caddy.
A rough guess is $500–800 all in, most of it the vacuum. Price it before you buy. Wash cloths hot, without fabric softener. Restock every Friday. Keep receipts for everything.
Running late
If you'll be more than 10 minutes late, text as soon as you know, with a new arrival time. Still do the full clean. Being late twice with the same client is worth a small discount next visit.
If something breaks
Stop. Take a photo. Tell the client the same day, before they find it. Offer to repair or replace. Write down what happened. If it's worth more than your insurance deductible, call your insurer that day. Never hide damage. Owning it is how you keep the client.
Keys, codes and access
- Prefer door codes or a lockbox to keys.
- If you hold a key, tag it with a number, never a name or address. Keep the number list in your phone, not on the key ring.
- Door codes live in the client's booking notes only. Don't write them anywhere else.
- Return keys the day a client leaves.
Pets
Learn every pet's name. Ask how they react to the vacuum. Never let an indoor cat out: check before you open doors. If a dog is anxious or protective, the client secures it before you start. If a pet seems unwell, text the client.
Your safety
- Never mix bleach with ammonia or with acidic cleaners. Open a window in small bathrooms.
- Gloves for chemicals, knee pads for floors. Lift with your legs; don't move heavy furniture.
- Nothing higher than your two-step stool.
- Not your job: biohazards, mold, pests, hoarding cleanups. Decline politely (script below).
- If anything about a home feels unsafe, leave, then text the client. You don't need a reason beyond that.
Sick days and backup
If you're contagious, don't go. Text the client, offer the next open day, and don't charge for the change. Find one other solo cleaner you trust and agree to cover each other's emergencies. Keep a month of expenses saved so a sick week isn't a crisis.
Small habits that turn one clean into years of them.
- First visit: arrive five minutes early. Spend ten minutes walking through with the client: their top priorities, anything off-limits, product sensitivities, pets, how to lock up. Put it all in the job's private notes in admin.
- Every visit: same order, same checklist, same finish. Clients notice the small things, like a folded towel edge or a straightened rug.
- After every clean: text "All done," plus one specific detail ("I noticed the bathroom fan is rattling"). Charge in admin the same day.
- First clean only: leave a short handwritten thank-you note and two referral cards.
- Reviews: ask every client, the same afternoon, by text. Follow up once three days later. Ask regulars who haven't reviewed after their third visit. Ask everyone, not just the happiest ones; Google doesn't allow picking. Never offer a discount for a review.
- Problems: your policy is a free re-clean if a client tells you within 24 hours. Go back within two working days, and thank them for telling you.
- Replies: answer texts within two hours during working hours.
Where your first 15 regulars will come from.
Local cleaning is won on Google, by word of mouth, and on the streets you already work on. Work through these in order. Two hours a week is enough if you keep at it.
1. People you already know
Text 30 to 50 friends, neighbors and old coworkers personally. Say what you're doing, link the site, mention the founding-client discount. First clients often come from here.
Free2. Google Business Profile
What shows up on Google Search and Maps when someone nearby looks for a house cleaner. Post a photo every week and reply to every review by name.
Free3. Reviews
Nearly half of people won't use a business with fewer than 20 reviews. Ask every client the same day, by text, with the direct link.
Free4. Nextdoor and neighborhood groups
A free Nextdoor business page, plus a friendly intro in Facebook groups on the days they allow business posts. Ask clients to recommend you on Nextdoor.
Free5. Door hangers on your best streets
After a clean, hang 15 to 20 on nearby doors: "I just cleaned a home on your street." On doors only; putting anything in a mailbox is against federal law. Same street means no travel and easy scheduling.
About $60 for 5006. Realtors and property managers
Move-outs are your biggest jobs. Drop in on two agents or managers a month with cards and your booking link. They may ask for a W-9.
FreeAlso worth doing once: list on Yelp, Apple Maps and Bing Places with the same name, number and website. A car magnet works while you're parked. Thumbtack and Angi charge per lead; use them only to fill gaps early. One discount per visit: the founding offer and the "give $25, get $25" referral credit don't stack.
Your weekly rhythm
- After each clean (5 min): review text, and door hangers if it's a street you want more of.
- Monday (20 min): one photo post on your Google profile. Reply to new reviews.
- Wednesday (20 min): one Nextdoor or Facebook group post.
- Friday (30 min): books, restock, and the numbers check under "Watch".
- Once a month: two realtor or property-manager visits.
Your first 90 days
| Days | Focus | By the end |
|---|---|---|
| 1–30 | Tell everyone you know. Get your Google profile verified. Hand out founding-client spots. | 3 reviews, 4 regulars |
| 31–60 | Pick two neighborhoods within 20 minutes. Door hangers after every clean there. Ask clients for Nextdoor recommendations. | 6 reviews, 6 regulars |
| 61–90 | Turn one-time clients into regulars. Start realtor visits. Check your prices against your timed cleans. | 10 reviews, 9 regulars |
Busy and slow seasons
| When | What to do |
|---|---|
| March – May | Push spring deep cleans. |
| May – August | Push move-in and move-out cleans (lease season). |
| June – August | Expect regulars to skip for vacations. Fill gaps with move-outs. |
| Mid-November – December | Before-the-holidays cleans. Some regulars skip. Offer gift certificates early (a simple one to text or print). |
| January | "Fresh start" recurring plans. |
Keep it legal, insured and boring.
Getting started costs
| Item | Roughly |
|---|---|
| Trade name registration | $20 |
| Website address | $15 a year |
| Supplies starter kit, including vacuum (estimate) | $500–800 |
| First month of liability insurance | $45–50 |
| Janitorial bond (optional) | about $110 a year |
| Business and referral cards, door hangers, car magnet | $125–150 |
| One hour with a CPA (estimate) | $150–300 |
| Founding-client discount (20 × $25, spread over months) | $500 |
| Total | about $1,400–2,000 |
Plus a small fee for your own background check.
Monthly running costs
| Item | Roughly |
|---|---|
| General liability insurance | About $45–50 a month |
| Janitorial bond, if you get one | About $9 a month |
| Business use on your car insurance | Ask your insurer; it varies |
| Denver occupational privilege tax | $4 for each month you work in Denver |
| Supplies | A rough $5 a clean; track your real number |
| Card fees | About 3% of what you charge |
| Driving | Gas and wear; you deduct 72.5¢ a mile at tax time |
| Website, phone number, books, mileage app | About $1 (the domain; the rest are free tiers) |
| Health insurance | Varies. Often the biggest one. See the to-do list. |
Your cash and tax rhythm
- Every payout: Stripe pays into your business account. Move 25% into a separate savings account for taxes. Don't touch it.
- Every drive: your mileage app logs it. Driving between clients is deductible. Whether the drive from home to your first client counts depends on your setup; ask your CPA.
- Every Friday: match the week's payouts and receipts in your books. Ten minutes.
- Quarterly: pay estimated federal and Colorado tax from the tax savings. Due dates: January 15, April 15, June 15, September 15. Your first one is January 15, 2027, for this fall's income.
- January: Stripe may send you a tax form. Either way, all of it is income. Gather your mileage total and your supplies, insurance and phone costs.
- By April 15: file your return with Schedule C (business profit) and Schedule SE (self-employment tax). Pay for one hour with a CPA the first year.
Why 25%: self-employed people pay about 15% Social Security and Medicare on most of their profit, plus federal income tax and Colorado's flat 4.4%. At a full calendar that comes to a bit under 25% of profit. Saving 25% of every payout over-saves a little, and the extra is yours after you file. Tips are income too; keep a record of them and ask your CPA whether the new federal tip deduction applies to you.
Legal checklist for Colorado
Trade name
Register "Dust til Dawn" with the Colorado Secretary of State as a sole proprietor: $20, online only. It doesn't stop anyone else using the name; it just makes yours official. Note the renewal date the state gives you.
Denver license and occupational tax
Denver has no general business license. It licenses specific kinds of business, and house cleaning doesn't appear to be one. Confirm with a short email to licenses@denvergov.org.
Denver does charge an occupational privilege tax: $4 a month for any month you work in Denver, even as a one-person business. You can prepay the year ($48) by January 31.
Other cities
Aurora, Lakewood, Arvada, Englewood, Littleton, Centennial, Wheat Ridge and Edgewater each set their own rules, and a few nearby cities have their own occupational tax. Check each city's website, or call, before you take a job there.
Sales tax
Colorado doesn't generally tax services, and neither the state nor Denver lists house cleaning as a taxable service. Keep supplies inside your price, never as a separate line item, and you shouldn't need a sales tax license. For certainty, ask the Colorado Department of Revenue in writing.
EIN
Free from the IRS in ten minutes. Use it instead of your Social Security number on W-9s and bank forms.
Insurance and bond
General liability, usually $1 million per claim and $2 million a year, runs about $45–50 a month for house cleaners. Ask each insurer: "Does this cover damage to a client's things while I'm working on them?" Some policies limit that, so get the answer in writing. A janitorial bond is optional, about $9 a month, and covers theft claims.
Your car
Tell your auto insurer you drive to jobs. A personal policy can refuse a claim on the way to work. Ask what business use costs.
Workers' comp
Colorado's rules are written for employers. Before you hire anyone, even part-time, check what you need.
LLC
Optional. Filing costs $50, plus a $25 report each year. It mostly keeps business debts separate; it doesn't protect you from your own mistakes on the job. Insurance does that. Revisit with a CPA once you're busy.
Five minutes every Friday.
| Number | Where to see it | Aim for |
|---|---|---|
| Cleans this week | Admin jobs list | Climbing toward 8–9 |
| Share of cleans that are regulars | Admin | 70% or more |
| One-time clients who become regulars | Your notes | 1 in 3 or better |
| Regulars still with you after 3 months | Admin plan status | Most of them; ask anyone who leaves why |
| New Google reviews | Google profile | 1–2 a week until 20, then steady |
| Your actual time vs booked time | Your timing notes | Within 15 minutes |
| Late cancels and lockouts | Admin | Under 1 in 20 visits |
| Profit per hour, after driving | The per-clean math, monthly | $40 or more before tax |
When to raise prices
- Calendar full: if you're at 8 or more cleans a week for four weeks, or have a waitlist, raise prices 10% for new clients.
- Jobs run long: if a job type is over its booked time most of the time, raise its minutes. The price follows.
- Everyone says yes: if nearly everyone who gets a quote books, you're underpriced.
- Once a year: each January, raise regulars about 5%, with 30 days' notice. Skip anyone who started in the last six months.
- Costs jump: if insurance or the mileage rate goes up, redo the per-clean math.
- Never discount to win a job. Offer a smaller job instead (fewer rooms, no extras).
Bookings already made keep the price they were quoted.
Risks and what to do about them
| Risk | What you do |
|---|---|
| Injury (back, knees, wrists) | Cap at 9 cleans a week. Knee pads, a good vacuum, no heavy lifting. Consider disability insurance once you're steady. |
| Getting sick, no income | Free reschedules, a backup cleaner, one month of expenses saved. |
| Cancellations and lockouts | Card on file and the 24-hour policy. Waive once per client per year, kindly; charge after that. |
| Slow seasons | Summer move-outs, holiday gift certificates, January fresh-start plans. |
| Burnout | Friday afternoons for admin, real days off on your calendar, a week off each quarter. |
| Damage or theft accusation | Insurance that covers client property, the "if something breaks" rule, an optional bond. Arrive and leave on time so your hours are on record. |
| Too few hands | Don't hire until you're full with a waitlist for two months. Raise prices first. |
| Cheaper cleaners and apps | Don't race them. Sell the same person, reliability and honest pricing. Let your reviews do the arguing. |
| Losing one big client | No single client over 15% of your income. |
| Car trouble | Keep a small repair fund. Take a rideshare to a job before you cancel one. |
Words for the awkward moments.
Save these as text shortcuts on your phone. Change the words so they sound like you.
Asking for a review
Same afternoon:
Hi [Name], it's Caitlin. Your home is all done. If you're happy with it, a short Google review helps me more than anything: [link]. Thank you for having me.
Three days later, once:
Hi [Name], a gentle nudge in case my review link got buried: [link]. No worries if not.
Turning a one-time clean into a regular
Before I go: would you like me to keep this time for you every two weeks? Your regular clean would be $[X] instead of $[Y], and you can skip or pause online any time.
Late cancellation
No problem, I hope everything's okay. Because it's inside 24 hours, my policy is 50% ($[X]) for the held time. Or I can move you to [day] instead and we'll call it even.
Offering the move instead of the fee is fine once per client per year.
Lockout
Hi [Name], I'm at your door and can't get in. I'll wait until [time, 20 minutes from now]. If we can't sort it out, my lockout policy applies. Let me know how you'd like to handle it.
Running late
Hi [Name], I'm running about [15] minutes behind. I'll be there by [time] and you'll still get the full clean.
Something broke
Hi [Name], I'm sorry: I [broke / damaged] your [item] today. Here's a photo. I'd like to make it right by [repairing / replacing] it. Can we talk this evening?
Saying no to a job
Thank you for thinking of me. This one isn't a good fit for what I do, so I'd rather point you to someone who'll do it well. [Optional: name a specialist.]
Use it for biohazards, mold, pests, hoarding, too far, unsafe, or a client who wants the price lowered.
Raising a regular's price
Hi [Name], a quick heads-up: starting [date, 30 days out], your regular clean will be $[new], up from $[old]. Costs have gone up, and this keeps me doing the job the way you're used to. Thank you for having me every [two weeks].
Sick day
Hi [Name], I'm sick and don't want to bring it into your home. Can I move you to [day]? There's no charge for the change.
Things you might be wondering.
How do I get paid?
When you tap Charge after a clean, Stripe charges the client's saved card. Your first payout usually takes 7 to 14 days while Stripe sets up your account. After that, money arrives about two business days after you charge. Stripe keeps about 3%. You can see everything in the Stripe app.
What if a card is declined?
The admin page shows it as failed. If the bank just wants the client to confirm, the site emails them a link to approve the payment and updates when they do. Otherwise, text them; they can pay another way, and you mark it "paid another way" in admin.
What if a client cancels last minute or I'm locked out?
If they cancel through their link within 24 hours, the 50% fee is charged automatically. If you're locked out, open the job in admin and tap "Locked out / no-show"; it charges the fee you set. You can always waive a fee by entering $0.
Can I still take clients who call or text me?
Yes. The easiest way is to send them your booking link so they pick a time and save a card. If they'd rather not, just put them on your Google Calendar and they can pay you however you agree.
Can I change my prices or hours?
Any time, from the "Prices & hours" page in admin. The website updates immediately. Existing bookings keep the price they were quoted.
What does it cost to run?
The website costs nothing beyond about $15 a year for the domain. Stripe takes about 3% of each charge. Insurance is about $45–50 a month. The full list is under Money & legal.
Do I need an LLC?
Not to start. A registered trade name is enough. An LLC ($50 to file, plus a $25 report each year) keeps business debts separate, but it doesn't protect you if something goes wrong on a job; insurance does. Ask a CPA once you're busy.
What if I get sick?
Text the client, offer the next open day, and don't charge for the change. The script is under Scripts.
For Garrett: dev to-dos behind this guide
- Unbookable long jobs. Any job over
maxMinutesPerDay(480) gets a price but zero slots and no reason (move 4 bed / 3 bath at 2,000–2,500 sq ft is 510 min; deep 5/4 is 570; move 5/4 is 660). Add aquoteReasonabove a solo cap (360–420 min): "This one's a big job. Send me a note and I'll plan it with you." - Recurring minutes. Maintenance visits use
durationMultiplier.standard(1.0), so regulars earn $49–59 per on-site hour. After 10 timed regular cleans, add a recurring duration multiplier (around 0.85) or narrow the discount. - Reminder emails on Pages. Needs the hourly scheduler Worker calling
/api/cron. Until then the guide tells Caitlin to text reminders herself. - Shared ticks. The Pages build saves ticks per browser only, so the hero says so. Restore "Garrett sees your progress too" only if ticks get synced there.
- Discount stacking. Make sure the manual referral credit and the founding promo are never both applied to one visit.
- Open questions to verify: 2026 mid-year IRS mileage change (72.5¢ confirmed; a rise to 76¢ from July 1 is reported but unconfirmed), Colorado's final 2026 income tax rate, Denver/CDOR written confirmation that residential cleaning isn't taxable, each suburb's license and occupational tax rules, CBI background-check fee.