My company · Locksmith & roadsideLive
A 24/7 locksmith company built on Google search
Where it started: no referral network and no investors. Just search traffic, my own ad money, and showing up fast.
$5.2M+in sales
39K+jobs completed
31 minaverage arrival
800+Google reviews
- Car lockouts, car keys and fobs, and roadside help, day or night
- Technicians dispatched by software I wrote myself
AI voice agentLive
An AI receptionist that never misses a call
The problem: every missed call is a job that goes to a competitor. Our old AI phone vendor charged a $5,000 setup fee, $500 a month, and 21¢ a minute in AI usage, and we couldn't change a word without paying them.
$11K+first-year vendor cost cut
≈5¢AI per call, was 21¢ a minute
24/7English & Spanish
- Quotes the price, checks the service area and books the job
- Hands off to a human when it should
Lead capture · Auto-responseLive
Every web lead called back in 30 seconds
The problem: most businesses call web leads back hours later. By then the customer has hired someone else.
46%of quote-form leads book a job
24K+leads captured last year
- The form saves as they type, so half-finished leads aren't lost
- Abandoned forms get a friendly recovery call minutes later
Review workflowLive
Reviews on autopilot, sent to the right city
The problem: happy customers don't leave reviews unless you ask at the exact right moment.
800+Google reviews
0 minstaff time per request
- The technician taps Complete, and the customer gets a thank-you text
- It routes to the nearest city's Google or Facebook page automatically
GBP automationLive
A Google Business Profile that posts itself
The problem: Google rewards active profiles, but nobody on a service crew has time to post.
- A technician snaps a job photo, and a privacy filter blurs plates and faces
- AI writes the post and alt text from the actual photo
- It publishes to Google and the website. Risky photos are held for review
Review auto-responseLive
Every review answered, for about 2¢
The problem: unanswered reviews tell Google and customers that nobody's home.
0unreplied reviews
≈2¢per reply
- Personal replies built only from the review and the real job
- Low ratings go to a human first
Social automationLive
A Facebook page that never goes quiet
The problem: our page went silent for months, because posting by hand never sticks.
- Real job photos become captioned posts every 2 hours, 8am–8pm
- Each post links to the matching city or service page
- AI captions with a safety filter and a fallback template
Google AdsLive
Ads that bid on paying customers, not form fills
The problem: Google was optimizing for people who started a form, not people who paid.
$1.2M+of my own money spent on Google Ads
- Every ad click is tied to the job it became
- Real revenue goes back to Google, so bidding chases buyers
- Real phone calls count as conversions. Hang-ups don't
Ad protectionRolling out
Click-fraud protection we own
The problem: we paid a monthly subscription just to block fake clicks on our ads.
$1K+/yrsubscription replaced
- Watches every ad click, minute by minute
- Repeat clickers get blocked in Google Ads automatically
AI content agentIn design
Weekly video plans from real jobs
The problem: every service business knows it should post video, and almost none know what to film this week.
51job clips already catalogued
- Turns completed jobs into titles, shot lists and on-camera lines
- Drafts ready-to-post videos for Google and Facebook
Field-service softwareLive
Phoenix: AI-powered dispatch CRM for field service
The problem: off-the-shelf dispatch software wasn't built for a 24/7 business that has to get a technician moving in minutes, so I built my own.
54K+jobs dispatched
31 minaverage arrival
24/7auto-dispatch
- AI phone agent and web forms feed leads straight in, then auto-dispatch to the nearest technician
- Live dispatch map with drive-time ETAs for every technician
- Leads, jobs, customers, payments, payroll and reminders in one place
AI business analystLive
Ask your business anything, in plain English
The problem: owners make big calls on gut feel, because pulling real numbers means spreadsheets and hours.
Secondsto answer, not hours
54K+jobs of data behind it
- "What did each technician make us last month?" answered from live data
- Revenue, profit per technician, lead funnel and receivables
- Private and read-only, so it can't change anything
Mobile app · TechniciansLive
The app our technicians run the day on
The problem: dispatching by phone call and text means missed jobs, no location and no proof of work.
39K+jobs completed
Same dayfixes, no app-store wait
- Job offers, navigation, live location and payments in one app
- Push notifications and appointment reminders
- iOS and Android, updated over the air
Mobile app · CustomersLive
Uber-style ordering for a locksmith
The problem: customers locked out don't want a phone tree. They want a price and a tech on the map.
- Request help and see up-front pricing in a few taps
- Track the technician live on the map
- Live in the App Store and Google Play
SaaS · PropertyBuilt
AmeniLink: roadside help as an apartment amenity
The idea: apartment communities compete on amenities. Lockout and roadside help for residents is one they can offer on day one.
- Multi-tenant platform with admin and resident apps
- Residents request a callback, and the AI agent already knows their name, vehicle and address
Legal tech · AILive
ProSeFiler: the tool I wish I'd had in court
The problem: people in court without a lawyer lose on missed deadlines and wrong forms, not on the merits.
Wonmy own case, pro se
iOSapp in beta
- Deadline calculators and case organization, private on your device
- AI drafting checked against real Texas rule and statute text
Website · Lead generationLive
A website that books jobs, not just visits
The problem: our old WordPress site was slow, hard to change, and built for visits instead of bookings.
46%of quote-form leads book
150+city and service pages
- Instant quote form with bot protection and ad-click tracking
- Edge-hosted, with a content studio anyone can edit
Website migrationLive
Off WordPress without losing a single URL
The problem: most site rebuilds break old links and throw away years of rankings.
100%of existing URLs kept
- Moved mycarunlocker.com to the same fast edge stack
- Every page imported and checked before the switch
Customer experienceLive
A live "on my way" tracker
The problem: a stranded customer's first question is "where's my tech?", and every call to ask it ties up your dispatcher.
- A text with a live map, ETA and job status when the tech heads out
- A review button appears the moment the job is done
ReportingLive
Technician scorecards, no spreadsheets
The problem: technician reviews were built by hand, and by the time they were done the numbers were stale.
- Sales, average ticket, cancel rate and pay for every technician
- Alerts when a market's lead flow suddenly drops
- Self-serve and live, straight from job data
Payments · PayrollLive
Invoices and paychecks that write themselves
The problem: paying contractors by hand means disputes, because nobody can tie a payout back to the job.
- Customer invoices and technician paychecks generated as PDFs
- Payroll audit tools that tie every payout to its job
Ads · TrackingLive
Conversion tracking you can actually trust
The problem: our Google Ads were counting the wrong things, so the bidding was learning from bad data.
14 → 2conflicting goals cleaned up
~52%of form "leads" were test traffic
- Real phone calls and finished quote forms count. Noise doesn't
- Each city page shows its own local, tracked number
Project managementDaily
How I ship software with AI without chaos
The problem: building with AI goes fast until it goes sideways, and nobody remembers why anything was built.
- Every feature starts as a spec: requirements, design, tasks
- Built, checked by automated gates, then closed out