Solo handyman "Fix Everything Brisbane" — Aiden, 3 crew (Mike, David, Sarah), 2 vans, 60 recurring strata clients across Metro Brisbane (fortnightly maintenance contracts), 30 ad-hoc jobs/month (paint, plumbing, carpentry, electrical mix), $240k annual revenue. Current chaos: Aiden receives job requests daily. Tuesday: Sarah calls from site "Strata needs paint (hallway) + plumbing fix (blocked tap) + light switch install = 3 trades on same job." Aiden estimates: paint 3 hrs ($600), plumbing 2 hrs ($400), electrical 1 hr ($300) = $1.3k job. Client asks "Can you quote one job or three separate invoices?" Aiden thinks: quote separately = 3 invoices (customer friction, admin overhead). Quote combined = one price, but which trade gets credited? Complex. Aiden quotes separately (3 invoices), client frustrated ("I don't want three payments, bundle it into one."). Quoting process: Aiden handwrites quote on paper ("Paint hallway $600, plumbing tap fix $400, electrical switch $300, total $1.3k, materials TBC"). Client asks "Can I see itemized costs? Labor vs materials?" Aiden scrambles: "Labor is about $1k, materials ~$300, tax extra." Client doubts (no breakdown, opaque pricing). Quote expires Friday, Aiden forgets to follow-up, client books competitor. Revenue loss: $1.3k job lost. Photo quoting chaos: David finishes small job Friday (install bathroom towel rails). Client asks "How much for this job before you finish?" David: "About $250 materials + 1.5 hrs labor = $300 total." Client: "That's more than I expected, I'll do it myself." David uninstalls, customer unhappy. Quote lost because no upfront pricing (customer shocked at end). Photo upfront: David could photograph (bare wall, rails on table), send photo + quote to Aiden, Aiden quotes customer before David starts work (customer approves, work proceeds). Time tracking mess: crew works ad-hoc jobs (paint, plumbing, carpentry mixed). Aiden asks Friday "How many hours did you work this week?" Mike: "I dunno, like 32 hours?" David: "Maybe 30?" Aiden guesses average crew cost $30/hr loaded rate = 3 crew × 31 hrs avg = $2,790/week labor (estimated). Actual: Mike worked 28 hrs, David 35 hrs, Sarah 24 hrs = 87 hrs total = $2,610 actual. Difference: $180 unaccounted (crew exaggerating or underreporting, Aiden can't validate). Job costing unknown: Aiden doesn't track hours per job (labor cost per job invisible). Strata recurring chaos: Aiden manages 60 strata recurring maintenance contracts (monthly check-ins, quarterly deep cleans, semi-annual inspections, emergency callouts). Contracts manual spreadsheet: "Strata A = $200/month, Strata B = $250/month," recurring dates scattered. Aiden manually schedules strata jobs Thursday (paper list, "Strata A due Friday, Strata B due next Monday, Strata C overdue 2 weeks"). Crew schedule conflict: Aiden assigns "Sarah to Strata A Friday 9am," but Sarah already booked ad-hoc paint job Friday 8am-1pm. Conflict undetected, Aiden called Friday 2pm "Sarah didn't show up for strata job." Sarah confused: "I was at paint job, you didn't tell me about strata." Customer Strata A complains: "Maintenance missed, where are you?" Aiden scrambles, reschedules Strata A to next week (customer frustrated, churn risk). Strata revenue tracking: 60 clients × $200-300/month = ~$15k/month recurring (sound stable, right?). Actual: 5-8 strata clients churn/month (contract ends, dissatisfied, competitor steals). Churn hidden (Aiden doesn't track it, thinks he has 60, actually has 50-55 active, losing revenue slowly). Supplier chaos: ad-hoc jobs require different materials (paint jobs = brushes + paint, plumbing = pipes + fittings, electrical = switches + cables). Crew buys supplies ad-hoc from Bunnings (no tracking, no cost control). Mike Thursday "Bought paint, pipes, and switches, Aiden here's Bunnings receipts." Aiden collects receipts ($240 paint, $180 pipes, $120 switches = $540 spend). No tracking by job. Aiden estimates "Supplies cost ~$500/week," but actual could be $450-600 (variance $5-10k/yr hidden). Customer SMS chaos: Aiden calls customers (landline or text), "Your strata job due Friday 10am." Customers forget (no reminder, job day confusion). Crew arrives Friday 10:15am, customer not home ("You didn't call!"). Crew waits 15 mins, leaves frustrated. Job rescheduled, crew downtime cost $150, customer frustrated. Alternative: SMS proactive "Your strata maintenance is Friday 10am. Reply YES to confirm or MOVE if conflict." Customer confirms (expectations set). Crew SMS "Next stop Strata A, address 42 Oak Ave, arrival 10:05am." Customer sees crew coming, no surprise. Customer SMS post-job "All done! Photos + receipt attached." Customer pays immediately (SMS engagement beats email). Payment friction: client calls Aiden "Where do I pay this invoice?" Aiden: "Transfer to my bank account or I'll invoice you later." Client frustrated (no easy payment link). Invoice sent manually (Excel or pen), customer loses it, payment delayed. Compliance gaps: Aiden crew works with chemicals (paint thinners), plumbing fixtures, electrical work (potentially licensed trade). No safety documentation, no crew training logs, no incident reports. Fair Work compliance unknown (crew wages, breaks, entitlements). Insurance: Aiden has public liability ($240/year), but no tools coverage (crew personal tools at risk). Cost control: opex = crew labor $150k/yr (5 crew × $30k/yr), vehicle fuel $12k, supplies untracked (~$26k estimated), tools $5k/yr, insurance $5k/yr, misc overhead $20k = $218k. Revenue $240k, margin $22k (9% margin, thin). Actual margin probably $10-12k after hidden costs. Complexity: 60 strata clients, 30 ad-hoc jobs/month, 3 trades mixed, manual scheduling, no quoting system, no time tracking, no supplier control, no SMS engagement. Aiden drowning in admin (quotes handwritten, invoicing manual, scheduling email/calls, no visibility on job profitability). Custom platform: multi-trade quoting, recurring strata automation, photo-quoted small jobs, customer SMS engagement, supplier tracking, time tracking, compliance. Unlocks 40% admin time reduction, 25% volume growth, $87k year-1 uplift.
Handyman services: high-variety small jobs across multiple trades (paint, plumbing, carpentry, electrical, tiling, etc.), recurring strata/property maintenance, customer satisfaction critical, crew utilization efficiency essential. Solo operator 3-4 crew, 60 recurring strata clients, 30 ad-hoc jobs/month = $240k revenue sounds healthy, but actual margins eroded by (1) multi-trade quoting friction (customers want bundled quotes, Aiden quotes separately = conversion loss), (2) photo pricing chaos (small jobs priced mid-work, customer shock, conversions dropped), (3) time tracking invisible (crew hours estimated, job costing unknown, labor leakage hidden), (4) strata recurring manual (spreadsheet-based, scheduling conflicts, churn untracked), (5) supplier cost leakage (Bunnings receipts untracked, ~$10k/yr waste), (6) customer SMS friction (landline calls 40% effective, SMS 80% effective, engagement gap), (7) payment friction (no payment link, invoices manual, slow cash collection). Custom platform fixes all 7, unlocking 25% volume growth + 18% labor efficiency + $12k supplier savings + 35% strata upsell + 15% quote-to-close rate improvement = $87k year-1 uplift.
Six Features Custom Handyman Platform Delivers
1. Multi-Trade Quoting — Bundle Paint + Plumb + Carpentry, Itemized Labor/Materials, Quote Templates, Real-Time Quote-to-Close Tracking
Custom system: [Quote Engine]. Aiden receives job request: "Strata needs paint hallway + fix blocked plumbing tap + install light switch." Aiden logs into system, creates new quote. System form: "Select trades: [Paint] [Plumbing] [Electrical] [Carpentry] [Tiling]." Aiden checks Paint, Plumbing, Electrical. System loads trade-specific templates. Paint: "Room size 20m² hallway, walls (not ceiling), semi-gloss finish = labor 3 hrs ($600), materials (paint + primer + brush) $150 = $750." Plumbing: "Tap replacement, standard fitting, 2 hrs labor ($400), materials (tap + washer) $80 = $480." Electrical: "Light switch install, standard 1-gang switch, 1 hr labor ($300), materials (switch + plate) $20 = $320." System generates bundled quote: "**Strata Maintenance Package: Paint + Plumbing + Electrical**, Total $1,550 (paint $750 + plumbing $480 + electrical $320). Labor subtotal $1,300 (6 hrs crew time). Materials subtotal $250. GST $155. **Grand total $1,705.**" Quote shows itemized breakdown (customer confidence, transparent pricing). Quote numbering: system auto-generates "QT-001234" (quote ID, archive). Quote email: system sends PDF to strata client + SMS "Quote ready! [View PDF] [Pay deposit $200 to lock in]. Valid 5 days." Customer views quote (professional formatting, itemized labor/materials), customer confident, replies SMS "YES, let's go ahead." Aiden confirms, invoice generated ("Strata Maintenance Package $1,705, deposits $200 received, balance $1,505 due completion"). Quote tracking: system tracks quote-to-close conversion. Aiden sees: "Quotes sent this month = 15. Closed = 12. Conversion rate = 80%. Average quote value = $1,200. Closed jobs revenue = $14.4k/month." Conversion optimization: system flags "Paint quotes = 70% close rate (low), plumbing = 90%, electrical = 85%." Aiden investigates paint quotes (customer feedback loop): "Paint quotes underperforming. Reason?" Customer Sarah replies "Paint prices seem high, other handymen cheaper." Aiden adjusts paint template: labor rate 3 hrs @ $200/hr instead of $200/hr = $600, change to 2.5 hrs @ $240/hr (faster crew, premium positioning) = $600 (same price, reframed as efficiency). New template: paint labor 2.5 hrs = $600. System reruns quote, same total ($750), but positioning improved ("Fast, professional painting crew = 2.5 hrs vs competitors 4 hrs"). Paint quote close rate improves 70% → 85% (repositioning works). Multi-crew assignment: quote accepted, system schedules job. Strata job = paint 3 hrs + plumbing 2 hrs + electrical 1 hr = 6 hrs total crew work. System routes: Mike (plumbing specialist) 2 hrs, David (painter) 3 hrs, Sarah (electrician) 1 hr. System schedules Friday: David arrives 9am (paint), Mike arrives 10:30am (plumbing, post-paint to avoid mess), Sarah arrives 12pm (electrical, post-plumbing). Total job duration = 1 pm finish (3 crew working concurrently, not sequentially, 1 hr + 2 hrs concurrent = 3-hr job duration, not 6 hrs). Crew efficiency: parallel trades = faster job, customer happier (in/out same-day). Labor cost: 6 crew-hours × $30/hr = $180 labor cost. Quote revenue $1,550 (minus materials $250) = gross $1,300. Labor margin: $1,300 - $180 = $1,120 (86% margin on labor, healthy). Quote templates: system maintains library. Paint jobs: small room ($400-600), medium room ($600-900), large room ($900-1,500). Plumbing jobs: tap replacement ($300-500), pipe repair ($400-700), drain unblock ($250-400). Electrical jobs: light switch ($250-350), outlet install ($300-400), full panel upgrade ($2k-5k). Templates pre-filled, Aiden adjusts for actual job specs (customization fast, no blank-page friction). Upsell logic: system flags "Strata paint + plumbing booked. Recommended add-on: carpet clean ($200, can bundle 1-day service)." System SMS strata "Carpet cleaning available same day as paint/plumbing. Bundle for 15% discount: paint + plumbing + carpet = $1,450 (save $255). Reply YES." Strata replies YES. System updates quote $1,450, adds carpet clean job (David finishes paint 12pm, crew carpet clean 1pm-2:30pm, same crew, incremental revenue +$200 with minimal overhead). Upsell conversion: 30% of quotes include recommended add-ons (+15% average quote value = $1,200 × 1.15 = $1,380 average). Bundling psychology: customers perceive bundled pricing as discount (actually margin-neutral for Aiden, but customer happier, close rate higher). Value: quote professionalism (PDF templates, itemized breakdown = trust), conversion lift (80%+ close rate vs 60-70% handwritten quotes), labor efficiency (parallel crew scheduling = faster jobs), upsell automation (+15% quote value uplift, $15k/month incremental at 30 quotes/month × $1,200 avg × 15%).
2. Photo-Quoted Small Jobs — Smartphone Photo Upload, Real-Time Pricing, Customer Approval Before Work, Dispute Prevention
Custom system: [Photo Quote]. Scenario: David arrives at job site Friday morning (bathroom towel rail install, customer not home yet, just called "Can you give me a price before you start?"). David opens system app, taps "New Photo Quote." System form: "Select trade: [Carpentry]." David taps Carpentry. System: "Select job type: [Towel Rail Install] [Shelf Install] [Door Repair] [Custom]." David selects Towel Rail Install. System form: "Material: [Aluminum rail] [Stainless rail] [Brass rail]? Size [600mm] [900mm] [1200mm]?" David selects Stainless 900mm. System: "Labor estimate = 1 hr ($300), materials $80 (rail + fittings), total $380." System prompts: "Take photo for customer approval?" David uses smartphone camera, captures: (1) Bare wall (where rail will go), (2) Customer's towel rail box (size reference), (3) Bathroom layout (context). Photos uploaded to system (3 sec per photo). System generates photo quote PDF: "Bathroom Towel Rail Install, Stainless 900mm, 1 photo evidence attached, labor 1 hr $300 + materials $80 = **Total $380.** Approval required before work starts." System SMS customer: "Quote ready! [View photos + price] [Approve $380] [Modify specs]." Customer views photo (sees exact wall, professional framing), customer approves "YES $380." System sends David SMS "Customer approved $380 towel rail job. Start work?" David taps YES, work begins. Job completion: David finishes 11:30am (1.5 hrs actual, 30 mins faster than estimated), takes after-photo (installed rail). System: "Job complete, labor actual 1.5 hrs vs estimate 1 hr. Adjust labor cost? [Keep $300] [Reduce $225 (1.5 hrs × $150/hr)] [Increase $375 (1.5 hrs × $250/hr)]." David taps Keep (customer already approved, no dispute risk even if faster). Invoice generated: "Towel Rail Install, approved photo price $380, completion photo attached, labor 1.5 hrs, materials stainless rail $80." SMS customer: "All done! [View before/after photos] [Pay $380]." Customer sees photos, impressed, pays immediately (80% same-day payment for photo-quoted jobs vs 60% for traditional quotes). Dispute prevention: customer can't claim "I didn't approve this work" (photo quote + SMS approval = audit trail). Customer can't claim "Price was different" (quote PDF timestamped, SMS approval captured). Accountability: crew can't start work without customer SMS approval (system blocks "Work not yet approved by customer. Approval SMS required to proceed."). Safety: photo quote captures customer property state (before photos = baseline, if customer claims damage later "Your crew broke X," Aiden shows before-photo proving X was already damaged). Damage liability reduced. Incremental revenue: photo-quoted jobs close faster (80% vs 60% conversion = +33% rate), average quote value $300-500 (smaller jobs than complex quotes). 30 ad-hoc jobs/month × 60% photo-quote eligible = 18 photo-quoted jobs/month × $400 avg = $7.2k/month photo-quote revenue. Incremental (vs ad-hoc unquoted = 40% conversion = 12 jobs/month × $400 = $4.8k). Uplift: $7.2k - $4.8k = $2.4k/month = $28.8k/yr incremental from photo-quote close rate improvement. Value: conversion lift (80% vs 60% = +33% close rate), dispute prevention (photo + SMS approval = defensible), payment speed (same-day payment 80% vs 60% = 4-day faster cash cycle), crew accountability (approval required before work = quality control).
3. Strata Recurring Automation — Auto-Scheduling, Contract Lock-In, Churn Prevention, Monthly vs Quarterly vs Emergency Service Tiers
Custom system: [Recurring Manager]. Aiden manages 60 strata maintenance contracts. Contracts vary: Strata A = monthly deep clean ($250/month), Strata B = quarterly inspection ($300/quarter), Strata C = emergency-only (no recurring, $500/callout), Strata D = monthly + quarterly bundle ($450/month + $150/quarter). System auto-schedules. Strata A monthly: system creates recurring job "Strata A, monthly, 1st Friday 9am, $250." System auto-generates job instance 1st Friday every month (infinite repeat until canceled). Crew calendar shows "1st Friday = Strata A deep clean," no manual scheduling. Billing: system auto-generates invoice 1st Friday ("Strata A Monthly Maintenance, $250 due." SMS + email sent). Payment: customer (Strata A property manager) pays via payment link (Stripe). Auto-renewal: Strata A contract (12-month, expires Dec 2026). System 30 days before expiry (Nov 27) sends SMS: "Your maintenance contract expires Dec 27. Renew for 12 months at same rate? [YES] [NO] [Discuss]." Strata replies YES (passive renewal, 90% retention rate vs 70% manual chasing). Churn prevention: system tracks "Strata B = quarterly inspection, last completed May. Next due Aug (quarterly). Today June 15. SMS 4 weeks before Aug: 'Your strata inspection scheduled Aug 1, confirm arrival time? [YES] [MOVE TIME]." Strata confirms. Aug 1 arrives, crew shows up (no missed quarters). Churn tracking: system monitors "Strata A = 12 months active. Strata E = canceled March (churned). Strata F = churned June." System flags "2 strata churned June, why? Reach out." Aiden calls Strata E: "You canceled, what happened?" Strata E: "Crew didn't show up last March, we got frustrated." Aiden: "My apologies, that was a scheduling error I've fixed. We offer 1 free deep clean to make it right. Rejoin at same $250/month?" Strata E: "Okay, let's try again." Aiden wins back $250/month × 12 = $3k annual re-acquisition (churn recovery). Churn insight: system shows "Quarterly inspections = 2% churn rate. Monthly deep cleans = 5% churn rate. Why?" Analysis: quarterly contracts (less frequent touchpoint) = customer forgets/switches. Monthly contracts = habitual (crew shows up every month, customer expects it, less churn). Aiden decision: offer quarterly customers 2-month introduction (same pricing, 2 months commitment, ease into recurring). Tier upsell: Strata G (currently monthly $250 deep clean). System flags: "Strata G, high-traffic building (50+ residents), deep clean monthly. Upsell opportunity: quarterly carpet shampoo ($300), quarterly window clean ($200)." System SMS Strata G: "Your building looks great! Upgrade to premium maintenance: add carpet shampoo + window clean quarterly, bundle price $350/quarter (save 20% vs separate). [YES] [NO]." Strata G replies YES. System adds "Strata G Premium Tier = monthly deep clean ($250) + quarterly carpet shampoo ($300) + quarterly window clean ($200) = $1,050/quarter on average ($350/month smoothed billing)." Revenue per Strata: baseline $250/month → premium $350/month = +40% uplift. 60 strata × 40% upsell rate = 24 strata × $100/month extra = $2.4k/month = $28.8k/year strata upsell uplift. Emergency-only tier: Strata C = no recurring, only emergency callouts ($500/hour labor, 1-hr minimum). System tracks emergency response. Aiden offers Strata C: "You call us for emergencies. Stress-free option: $500/month retainer (covers 1 emergency callout/month free, extras $500/hour). Lock in faster response (we prioritize retainer clients). [YES] [NO]." Strata C replies YES (predictable cost, guaranteed response time). System creates "Strata C Emergency Retainer, $500/month recurring." Strata C converts from ad-hoc $500/callout (2-4 callouts/year = $1-2k/year) to $500/month retainer ($6k/year). Strata C saves vs Aiden (customer loyalty, predictable cost). Aiden wins (if 1+ emergency/month = ROI, if <1 emergency = Aiden subsidizes, but customer lock-in increases lifetime value via other service referrals). Strata recurring margin: labor cost $150k/yr (60 strata × 25 crew-hours/yr avg × $100 loaded labor rate). Strata revenue: 60 × $3k/yr avg = $180k/yr (strata-only recurring revenue). Margin: $180k - $150k = $30k (17% margin, lower than ad-hoc 86% margin, but guaranteed predictable). Ad-hoc jobs fill idle crew time (higher margin work). Strategy: fill crew calendar 70% strata recurring (predictable), 30% ad-hoc (high margin), maximize crew utilization. Value: revenue predictability ($180k/yr strata MRR), churn prevention (90% retention via auto-renewal vs 70% manual), upsell automation ($28.8k/yr tier uplift), emergency tier conversion (+$3-5k/yr per emergency-heavy strata).
4. Customer SMS Updates — Job Confirmation, Crew ETA, Completion Notification, Payment Links, Review Capture
Custom system: [Customer Messaging]. Strata A maintenance scheduled Friday 9am (monthly recurring). Crew (Mike + David) assigned. System sends Strata A property manager SMS Thursday 6pm: "Your maintenance is scheduled **Friday 9am**. Crew: Mike + David. Address confirmed. Can't make it? Reply MOVE TIME. Ready? Reply YES." SMS engagement (vs email): SMS open rate 85% (vs email 20%). Property manager sees SMS Friday night, replies YES Thursday 8pm (confirmed). Friday 7:30am, crew en-route. System sends Strata A SMS 8:45am: "We're on our way! Mike + David arriving **9:05am**. See you soon!" Strata manager sees SMS, expects crew (no surprise). Crew arrives 9:02am (early, efficient), begins deep clean. Crew Mike opens system during job, taps "Job Starts." System logs "Strata A deep clean started 9:02am." Real-time update sent to system (crew accountability, timestamp logged). Job complete: crew finishes 11:45am (2.75 hrs actual, labor 2 crew × 2.75 hrs = 5.5 crew-hours, cost 5.5 × $30/hr = $165 labor cost). Mike taps "Job Complete," system prompts "Photos?" Mike takes 3-photo set (before: dirty lobby, during: crew cleaning, after: spotless lobby). System auto-timestamps (9:02am start, 11:45am end). Photos uploaded. Invoice generated: "Strata A Monthly Maintenance, Friday 9:02-11:45am, completed, $250 charge, [3-photo proof attached]." SMS sent Strata manager: "All done! ✅ Your lobby looks amazing. [View 3 photos] [Pay $250]." Property manager clicks SMS link, views photos (before/after comparison, impressed), taps "Pay," Stripe checkout (30 sec), payment complete. Same-day payment (100% immediate vs manual invoicing 40% immediate). Follow-up SMS: "How did we go? Rate Mike & David: [5-star ⭐⭐⭐⭐⭐] [4-star] [3-star] [Report issue]." Manager taps 5-star (passive review capture, no active chasing). Review auto-published to Google Business Profile (social proof, new customer confidence). SMS engagement driver: SMS feels personal + urgent (pings, properties read immediately). Email feels bulk/marketing (delays opening, low priority). SMS SMS engagement 85% vs email 20% = +325% engagement lift. Customer lifetime value: SMS-engaged strata clients churn 8%/yr (vs email-only 15%/yr engagement churn). LTV impact: 60 strata × $3k/yr × 7% churn difference = $12.6k churn prevention value. Value: customer retention (SMS engagement = loyalty, churn -7%), payment speed (SMS links = same-day 100% vs manual 40% = 30-day faster cash cycle), review management (automated NPS capture = 90+ NPS score, strong referral generation), crew accountability (timestamp + photo = accountability, quality control).
5. Time Tracking & Job Costing — Clock In/Out, Labor Cost Per Job, Crew Utilization Rate, Profitability Analytics
Custom system: [Time Tracking]. Crew Mike arrives job site (plumbing repair). System app: "Clock in?" Mike taps IN. System logs 9:05am start. Mike works 2.5 hrs (troubleshooting tap, replacement, testing). System app alert (optional): "You've been clocked in 2 hrs, break?" Mike takes 15-min break, system auto-pauses. Mike resumes work 15 mins later. Job complete 11:45am, Mike taps "Clock out." System logs 11:45am end, total billable time 2 hrs 30 mins (break deducted auto-magic). System calculates: Mike labor cost = 2.5 hrs × $30/hr loaded rate = $75 labor cost. Quote revenue: plumbing $480 (materials $100 included). Gross: $480 - $100 = $380 revenue. Labor margin: $380 - $75 = $305 (80% margin on labor, healthy). Crew utilization: system tracks Mike week. Mon: 6 hrs billable, 2 hrs admin (email, scheduling, picking supplies). Tues: 7 hrs billable, 1 hr admin. Wed: 5.5 hrs billable, 2.5 hrs admin. Thurs: 8 hrs billable, 0.5 hrs admin. Fri: 4 hrs billable, 4 hrs admin (paperwork, invoicing cleanup). Total week: 30.5 hrs billable, 10 hrs admin = 40.5 hrs worked. Utilization rate: 30.5 ÷ 40.5 = 75% billable (healthy, 20%+ admin time is normal for crew). Aiden analysis: "Mike 75% utilization. If I can reduce admin 2 hrs/week (system auto-invoicing, auto-scheduling), Mike utilization 32.5 ÷ 38.5 = 84% (better crew efficiency)." System optimization: auto-invoicing reduces Mike's paperwork 1 hr/week, utilization improves 75% → 78% (not huge, but sustainable small gains). Crew comparison: Mike 75% utilization, David 82%, Sarah 71%. Aiden trends David (higher utilization). Insights: "David = plumbing specialist, jobs clear, efficient. Sarah = multi-trade (paint, carpentry), jobs varied, less flow. Assign Sarah to 2-3 trade specialization (focus)." Sarah redirection boosts her utilization 71% → 78% (efficiency gain). Job profitability: system tracks all jobs. Paint jobs: average revenue $750, labor cost $180 (3 hrs crew), material cost $150, gross margin $420 (56% margin). Plumbing jobs: revenue $450, labor cost $120 (2 hrs crew), materials $100, gross margin $230 (51% margin). Electrical jobs: revenue $320, labor cost $100 (1 hr crew), materials $30, gross margin $190 (59% margin). Ranking: electrical highest margin (59%), paint (56%), plumbing (51%). Aiden decision: "Price electrical higher, recruit electrician specialist, push electrical upsells (light switch install, outlet adds, panel upgrades)." Strategy focus on high-margin trades. Cost control: system alerts "Material cost for paint jobs trending up. Last 10 jobs = $160 avg materials (vs $150 target). Investigate: paint quality upgraded? Paint cans wasted? Pricing mismatch?" Aiden investigates: crew Mike bought premium paint (pro-grade $40/can) vs standard ($25/can), splurge not approved. Aiden policy: "Use standard paint unless customer approves premium (+ $15 charge to customer)." Mike agrees, materials trend back to $150 (cost control via transparency). Payroll accuracy: system tracks hours, generates payroll. Mike (30.5 billable hrs/week + 10 admin hrs = 40.5 hrs), pay 40.5 hrs × $30/hr = $1,215/week (accurate, no time-card fraud). Admin reduction: system saves 1 hr/week admin/crew = 3 crew × 1 hr = 3 hrs/week admin saved (Aiden's time freed, or reassign to business development). Value: labor visibility ($30.5k/yr potential labor cost optimization via crew utilization gains), job profitability (identify high-margin work, repricing strategy), crew accountability (clock in/out = transparency, no hour disputes), payroll accuracy (hourly + admin tracked separately, zero payroll fraud risk).
6. Supplier Tracking & Bunnings Integration — Auto-Reorder on Stock Threshold, Cost Per Job Visibility, Inventory Optimization, Purchase Approval Workflow
Custom system: [Supplier Manager]. Aiden links Bunnings account to system (API integration, supplier account credentials stored secure). System dashboard: "Inventory Status: paint cans (15 units), plumbing pipes (30 linear meters), electrical switches (20 units), misc fittings (various)." Threshold alerts: "Paint low (15 units, reorder at <10). Pipes low (30m, reorder at <20)." Weekly trend: 8-10 jobs/week consume paint (2 cans/job = 16-20 cans/week expected). Current stock 15 cans = 1 week runway. System alert Friday 12pm: "Paint inventory low. Reorder? [APPROVE]." Aiden taps APPROVE. System auto-creates Bunnings PO: "50 paint cans (assorted colors, standard grade) = $1,200 estimate. Delivery Monday 8am." System submits PO via Bunnings API (auto-submitted, delivery scheduled). Monday 8am supplies arrive (crew ready, zero downtime). Cost tracking: system logs purchase. 50 cans × $24/can = $1,200 cost. Historical consumption: 8 jobs used 16 cans last week = $384 paint cost (8 jobs = $3k revenue, $384 paint = 12.8% material cost ratio). Cost per job: paint job average $750 revenue, material cost $150 paint + $0 other = $150 material. Gross: $750 - $150 = $600. Labor: 3 hrs crew = $90 cost, net margin $600 - $90 = $510 (68% margin per paint job, healthy). Optimization: system suggests "Paint cost high. Consider bundling multi-room paint jobs (2-3 rooms = 1 crew, 1 trip, shared setup cost). Current: 1 room = 3 hrs + 0.5 hr setup = 3.5 hrs. 2 rooms = 6.5 hrs (not 7 hrs, 1 setup only). Labor savings: 0.5 hrs per additional room = $15-30 margin lift per room." Bundling strategy: Aiden offers Strata A "Paint 2 hallways same day = $1,200 total (single crew visit, efficient). Separate = $800 + $800 = $1,600. Save $400 bundling!" Strata replies YES (customer perceives discount, Aiden margin improved). Upsell: system flags "Customer paint jobs = 70% interior walls. Upsell: exterior caulking ($200), trim paint ($150), ceiling texture ($100)." System SMS customer post-paint "Your walls look great! Exterior caulking available to complete project? Just $200 labor + $30 materials. [YES] [NO]." 30% accept upsell (+$230 incremental per job). Waste reduction: system tracks "Unused paint cans purchased last month (5 cans, expiration risk if product dries out)." System suggests: "Donate 5 unused cans to local school (tax deductible, goodwill), avoid waste. Future: purchase smaller batch sizes more frequently (lower waste, fresher inventory)." Supplier diversification: system allows multiple suppliers (Bunnings, Mitre10, local plumbing supplier). System comparison: "Pipes 20m, Bunnings $300 (inc delivery), Mitre10 $280 (inc delivery), local plumber supplier $260 (pickup). Choose local ($40 savings, 15 mins drive time cost $8 = net $32 savings)." Aiden approves local. Purchase approval workflow: Dave crew needs "Specialty electrical breakers ($500 cost, unusual)." System creates approval task: "Dave requesting electrical breakers $500 from Bunnings. [APPROVE] [MODIFY] [DENY]." Aiden reviews (unusual expense, approves). System auto-orders (Bunnings PO submitted). Cost control: approval workflow prevents crew ad-hoc spending ($200 paint, $100 random tools, no approval = budget creep $5-10k/yr). Value: inventory management (zero stockouts, crew always supplied), cost visibility (material cost per job = pricing strategy), supplier optimization (multi-vendor comparison = savings $2k+/yr), waste reduction ($1-2k/yr unused materials avoided), approval workflow (spending control).
Handyman Crew ROI: 5-Person Business, Year 1 +$87k Revenue Uplift, Year 2+ $150k+ Annual Margin
Build cost: $40k (multi-trade quoting + photo quotes + strata recurring + SMS + time tracking + supplier integration). Year 1 ops: $3.5k/yr (SMS provider Twilio $400, system hosting $1.5k, Bunnings API integration $600, misc $1k). Total Year 1 investment: $43.5k. Current baseline ($240k revenue, 3-4 crew, 60 strata recurring, 30 ad-hoc/month): revenue = 60 strata × $250/month avg × 12 = $180k recurring + 30 ad-hoc jobs/month × $600 avg = $216k ad-hoc (overlap, only 30 ad-hoc unique) = $180k + ($600 × 30 × 12 ÷ 12) = $180k strata + $60k ad-hoc = $240k total (conservative, currently at ~12% margin = $28.8k profit, thin). Opex: crew labor $150k, fuel $12k, supplies ~$26k estimated (untracked), tools $5k, insurance $5k, misc $20k = $218k. Profit: $240k - $218k = $22k (9% margin, actually 10-12% margin = $24-28.8k). Custom platform uplift: (1) Multi-trade quoting (quote-to-close rate 60% → 80% = +33% conversion = 30 quotes/month × 60% = 18 closed current, 80% = 24 closed = +6 jobs/month × $1,200 avg = $7.2k/month = $86.4k/yr). (2) Photo-quoted small jobs (close rate 40% → 80% photo-quoted = subset of 30 ad-hoc jobs, 18 photo-eligible × 60% current = 11 closed, 80% photo = 14 closed = +3 jobs/month × $400 = $1.2k/month = $14.4k/yr). (3) Strata upsell (60 strata × $3k/yr × 40% upsell rate = 24 strata × $0.4k extra = $9.6k uplift, assuming tier upgrades = $28.8k/yr). (4) Time tracking labor efficiency (crew utilization 73% → 80% via admin reduction = 7% efficiency gain = 0.3 hrs/week/crew × 3 crew × 50 weeks = 45 hrs/yr freed = $1.35k value, or reassign to business dev). (5) Supplier cost control (inventory optimization -10% waste = $2.6k saved/yr). (6) Strata recurring churn prevention (8% lower churn = 60 × $3k × 8% = $14.4k churn prevention). (7) Payment speed (photo + SMS = 30 days faster cash cycle, $10k outstanding invoices → $5k faster, $5k cash freed, working capital efficiency). Total uplift: $86.4k (quote conversion) + $14.4k (photo small jobs) + $28.8k (strata upsell) + $1.35k (labor efficiency) + $2.6k (supplier waste) + $14.4k (churn prevention) + $5k (working capital, one-time) = $153k gross uplift (conservative, actual could be $120-160k depending on execution). Year 1 revenue: $240k baseline + $153k uplift = $393k. Opex: crew labor grows (utilization +7% = effective 3.2 FTE, no hire, internal reallocation) = $150k (same). Supplies $26k (waste -$2.6k) = $23.4k. Other opex $42k (same). Total opex: $215.4k. Profit: $393k - $215.4k - $43.5k investment = $134.1k. Break-even: 3.9 months (system pays for itself by April, rest of year margin capture). Year 2: baseline recurring stable $180k, ad-hoc normalized $60k, add 10 new strata clients acquired via referral/word-of-mouth (10 × $3k = $30k new recurring revenue), uplift drivers partially repeat (quote conversion, strata upsell, churn prevention = steady state), new crew hired to handle growth (2nd crew team, +$50k labor cost). Year 2 revenue: $240k baseline + $30k new strata + $50k scaling uplift (conservative, 30% of year-1 uplift) = $320k. Year 2 opex: $150k base crew + $50k 2nd crew = $200k labor, supplies $24k, fuel $14k, tools $6k, insurance $6k, misc $25k = $275k. Year 2 ops system: $3.5k (same). Profit: $320k - $275k - $3.5k = +$41.5k. 3-year cumulative: $134.1k (year 1) + $41.5k (year 2) + $50k (year 3, continued steady growth) = $225.6k (5.2× build cost ROI over 3 years). Alternative scaling: 2-crew team (8 crew total, $320k labor). Year 2 revenue potential $450k+. Profit potential $120k+/yr (2.8× current). Custom platform critical for scaling (quoting automation, strata automation, time tracking = admin-light growth). Recommendation: custom handyman platform, break-even 3.9 months, year-2+ profitability $40-50k annually at baseline (3-4 crew), $100k+ if scaled to 2 crews. ROI timeline clear if 40+ recurring strata clients + 30+ ad-hoc jobs/month, committed 2+ year horizon. Payback: 3.9 months pure build cost, ongoing margin $40-120k/yr = sustainable business model. Need custom handyman software? Check platform pricing or book a call—we'll handle multi-trade quoting (paint + plumb + carpentry bundled, itemized labor/materials), photo-quoted small jobs (customer approval before work, dispute-proof), strata recurring automation (contract lock-in, churn prevention, tier upsells, $35k+ uplift), customer SMS updates (85% engagement, same-day payment, review automation), time tracking (crew utilization, job costing, labor accountability), and supplier integration (Bunnings auto-reorder, cost per job, inventory optimization, $2.6k+ savings) so you can manage 60+ strata + 30+ ad-hoc jobs/month on 3-4 crews with 40% less admin, unlock $87k+ year-1 revenue growth, scale to 2 crews, and reach $400k+ revenue while staying profitable, compliant, and cash-flowing strong.
Six FAQs
Why can't generic handyman apps (ServiceTitan, Housecall Pro, Jobber) handle multi-trade quoting and photo-priced small jobs?
Generic handyman platforms (ServiceTitan, Housecall Pro, Jobber): designed for appointment scheduling + dispatch + invoicing (one-off service calls, flexibility-first). Handyman operator gaps vs generic: (1) Multi-trade quoting (generic = one trade per job, customer wants bundled quote "paint + plumbing in one invoice," generic system requires 2 separate quotes, customer friction). Custom = bundled quote (paint + plumbing + electrical = single quote PDF, itemized labor/materials, customer decision-friendly). (2) Photo-priced small jobs (generic = crew estimates mid-job "This will be $X," customer shock, conversion drops). Custom = photo + real-time price (customer sees price before work starts, approval SMS, zero surprise). (3) Strata recurring complexity (generic = recurring scheduling yes, but no tier logic, no emergency retainer, no bulk upsell, no churn tracking by contract type). Custom = strata-specific automation (monthly vs quarterly vs emergency tiers, auto-renewal, churn alerts). (4) Time tracking (generic = time tracking available, but not integrated with job costing, no crew utilization analytics, admin overhead high). Custom = integrated time tracking (hours logged = automatic job costing, crew utilization percentage, labor efficiency visible). (5) Photo quoting (generic = photos optional, no pre-approval workflow, crew can start without customer approval). Custom = photo required, customer SMS approval mandatory, dispute-proof). (6) Supplier integration (generic = none, no Bunnings API, inventory manual, no auto-reorder). Custom = supplier integration (auto-reorder threshold, cost per job visibility, waste tracking). Decision: generic suitable for 1-2 crew ad-hoc handyman. Multi-trade shop 3+ crew with strata recurring = custom necessary. Threshold: 40+ recurring strata + 20+ ad-hoc/month = custom ROI clear.
How does photo quoting prevent disputes if customer claims work quality is poor?
Photo quoting dispute prevention: (1) Baseline documentation. Before photo taken (before-state documented), customer approves price based on before photo (customer sees exact scope). During photo optional (crew action shot). After photo (completion state, timestamped). (2) Approval SMS timestamp: customer SMS approval recorded with timestamp ("Approve $380 towel rail install? [YES]" sent 9:15am, customer replied YES 9:17am = audit trail). Customer can't claim "I never approved this" (SMS evidence). (3) Dispute mechanism: if customer claims post-completion "Work quality poor," system creates incident: "Before photo shows wall bare + clean. After photo shows rail installed + secure. Customer claim: rail loose? Photo evidence shows secure installation. Customer inspection recommended (crew photo may not capture loose brackets, but photo clear evidence of installation)." Incident log defensible. (4) Chargeback defense: if customer disputes charge (credit card company), Aiden presents: photo quote PDF (before + customer approval SMS + after photo timestamped). Chargeback rebuttal strong ("Customer approved work pre-start, photographic evidence of completion, SMS audit trail = defensible"). Chargeback success rate 80%+ vs non-photo 40%+ (photo powerful evidence). (5) Crew liability: if crew claims "Work was good, customer complaining unfairly," before/after photo = crew protection. Crew reputation protected (visual proof of quality). (6) Quality control: photo requirement = crew care (crew knows work documented, photo scrutiny = higher quality, crew pride). Crew less likely to rush/poor-quality work. Value: dispute prevention (chargeback success 80%, revenue protected), crew accountability (photo = quality control), customer confidence (transparency via photo = trust).
What's the typical strata churn rate and how does automation reduce it?
Strata churn baseline: manual scheduling (spreadsheet-based) = 12-15% annual churn rate (strata customers forget renewal dates, scheduling conflicts happen, customer frustration = switch competitors). System automation = 8-10% churn rate (-4-5% churn improvement). Root causes: (1) missed appointments (manual scheduling conflict, crew doesn't show up). Automation fixes: system auto-schedules, crew calendar syncs, no conflicts, zero missed appointments. (2) Forgotten renewal (12-month contract expires, Aiden forgets to remind). Automation fixes: system SMS 30 days before expiry ("Renew contract? [YES]"). Passive renewal = 90% retention vs manual chasing 70%. (3) Service quality variation (crew inconsistent, strata unsure if job well-done). Automation fixes: photo documentation (every job), consistency visible, customer confidence. (4) Payment friction (manual invoicing, customer loses invoice, payment delayed). Automation fixes: SMS payment link, same-day payment, smooth cash flow = customer perceives professional service. (5) Competitor stealing (strata calls competitor, gets quote, cheaper). Automation fixes: proactive SMS relationship ("Your job scheduled," crew ETA updates, post-job photos, review request = relationship depth). Competitor harder to steal when customer has relationship. Churn ROI: 60 strata × $3k/yr × 5% churn improvement = 3 strata saved × $3k = $9k churn prevention value. Realistic: 1-2 strata saved/year via automation = $3-6k annual churn prevention (conservative). Multi-year: year 1 save 2 strata (avoid $6k churn), year 2 accumulate additional 3 saved (total 5 saved = $15k cumulative churn prevention). Value: churn reduction (5% → 8% = recurring revenue stable, compound growth enabled).
How does time tracking prevent crew hour fraud and improve job costing?
Hour fraud scenario (manual): Mike tells Aiden Friday "I worked 35 hours this week." Aiden pays 35 hrs × $30/hr = $1,050. Actual: Mike worked 32 hrs (3 hrs inflated). Aiden's cost: $90 overpay (fraud or poor tracking). System prevents: crew clocks IN/OUT (timestamp logged). Mike clocks in 9am Monday, clocks out 5:30pm (8.5 hrs), lunch auto-deducted (30 mins) = 8 hrs billable. Tuesday 8 hrs, Wed 7 hrs, Thu 8.5 hrs, Fri 4 hrs = 35.5 hrs logged. System generates time sheet (crew can't dispute, timestamps evidence). Payroll accurate, zero fraud. Job costing: manual (unknown). System tracks: Mike worked 8 hrs Thursday painting (4 hrs labor cost $120, materials $150, revenue $750 gross margin $480, labor margin $360 after labor cost). By job: painting = $360 labor margin. Plumbing (2 hrs, $400 revenue) = $60 labor margin (after materials, gross ~$280, labor margin $60). Plumbing lower margin than painting. Aiden strategy: reduce plumbing jobs, push painting (higher labor margin). Crew utilization: system tracks "Mike 8 billable hrs Thursday, 0.5 hrs admin = 94% utilization (excellent, near-max capacity)." Aiden: "Mike fully booked, don't assign more. David 6 billable hrs = 75% capacity, can take 2 more hrs work Thursday." Crew allocation optimized (avoid over-booking Mike, under-booking David). Crew incentive: system shows Mike "You've worked 32.5 billable hrs week, 81% utilization (great job, high-value crew)." Recognition visible (crew motivation improves, retention higher). Value: hour accountability (zero fraud, payroll accurate), job profitability (identify high-margin work), crew utilization (capacity planning, allocation optimized), incentive transparency (crew sees value created).
Can the system integrate with payment processors (Stripe, Square) and accounting software (Xero, Quickbooks)?
Yes. (1) Stripe integration: system auto-generates invoice, SMS customer "Pay $380 [Link]." Customer taps link, Stripe checkout loads (name, card, address), payment processed (3-second checkout). Funds transferred Aiden's bank account next business day. Recurring strata customer Tom: system auto-charges $250/month (recurring Stripe charge, card on file). Tom never manually pays (passive payment, 98% success rate on recurring). Decline handling: if card declined, system retries next day (SMS notifies Tom "Payment declined, please update card [Link]"). Tom updates, payment succeeds. Reconciliation: Stripe API syncs daily (system knows "Friday $750 paid, Saturday $380 paid," reconciles automatically). (2) Square integration: if Aiden uses Square POS (on-site card reader), system syncs. Crew at job site, customer pays via Square reader (card or NFC), system logs payment immediately. Cash handling risk: if Aiden prefers cash payments, system reconciliation: "Crew collected $500 cash Friday, report it: [REPORT $500]." System logs cash. Weekly reconciliation: "Invoices $5k, cash collected $2k, card payments $2.5k, outstanding $0.5k." (3) Xero integration: system exports invoices to Xero (automatic, daily sync). Xero accountant (Aiden's) logs in, invoices already populated (no manual data entry). Revenue, expenses, invoices tracked automatically. Profit & loss visible real-time (Aiden checks Xero dashboard "Current month revenue $18k, expenses $12k, profit $6k"). (4) QuickBooks integration: similar (invoice sync, expense tracking, payroll integration if crew W2). (5) Google Business Profile sync: system auto-posts 5-star reviews to Google (photo proof of work, review management passive). (6) Facebook Leads: incoming leads sync to system (customer name, phone, address, service needed). System routes to Aiden (SMS "New Facebook lead: Bob Smith, paint job, click to quote"). Aiden creates quote quickly (pre-filled customer data, 5-min quote vs 20-min manual). Value: payment automation (zero manual processing, cash flow smooth), accounting integration (real-time profit visibility, accountant efficiency), lead integration (inbound marketing feeds system, lead-to-quote fast).
What's the typical ROI timeline for custom handyman software for a growing solo operator?
Baseline: 3-4 crew, 60 strata recurring, 30 ad-hoc/month, $240k gross revenue, ~10-12% margin = $24-28.8k profit. Custom system: $40k build + $3.5k ops/yr = $43.5k year-1 investment. Year-1 uplift: $87-153k (quote conversion + photo quotes + strata upsell + churn prevention + labor efficiency + supplier savings). Revenue year-1: $240k + $87k (conservative) = $327k. Opex: ~$215k (crew, fuel, supplies, insurance, overhead). Profit: $327k - $215k - $43.5k = +$68.5k. Break-even: 5-6 months (system pays for itself by June-July, rest of year margin capture). Year 2: baseline $240k recurring stable, add 10 new strata (referral + word-of-mouth) = $30k new recurring, uplift drivers steady = $50k (conservative). Opex grows (2nd crew added for scaling, +$50k labor) = $265k. Revenue $320k, profit: $320k - $265k - $3.5k = +$51.5k/yr (ongoing margin sustainable). 3-year cumulative: $68.5k (year 1) + $51.5k (year 2) + $65k (year 3, continued growth 20%) = $185k (4.3× build cost ROI over 3 years). Alternative: 2-crew team scaling (double crew size). Year 2 revenue potential $450k+. Profit potential $100k+/yr. Custom platform critical (automation handles growth without admin hire). Recommendation: custom handyman platform, break-even 5-6 months, year-2+ profitability $50-65k annually at baseline (3-4 crew), $100k+ if scaled to 2 crews. ROI timeline clear if 40+ recurring strata + 25+ ad-hoc/month, committed 2+ year horizon. Payback: 5-6 months pure build cost, ongoing margin $50-100k/yr = sustainable model.