Work for local businesses

What the job was, what I did, and how it turned out. I don’t name clients here. Their business is theirs to talk about, so each one is described by industry.

Start your project

Jump to: Car service · Architectural hardware · Remodeler · Transmission builder

Airport car service: booking, payment and dispatch

The problem
A limo and airport car service was running on an old website. Booking, dispatch and invoicing were all done by hand, and the search rankings the old site had built up had to survive the move.
What I did
I rebuilt the site in WordPress and wrote the booking system from scratch. Customers get a live quote from a fare engine and pay when they book. The office approves, edits, reschedules and cancels rides from one screen. Drivers get their jobs by email with a calendar invite and directions. Customers get confirmations, reminders and a review request without anyone sending them. Corporate accounts are billed on their own contract rates with monthly statements. I moved more than 11,000 bookings from the old system so the office can still search its history. I brought over all 151 existing pages and posts, checked every one loads, and matched their titles against the old site. The city pages run off shared templates instead of being built one at a time.
The result
Booking, payment, dispatch, cancellations and calendar invites all run on the new site. All 151 pages came across intact, and the office can still search more than 11,000 past bookings.
The stack
WordPress, Elementor Pro, ACF Pro, Gravity Forms with PayPal and Square, two custom plugins.

Architectural hardware: a catalogue built from price books

The problem
A decorative and architectural hardware dealer needed its manufacturers’ price books turned into an online store. The raw material was spreadsheets: tens of thousands of rows of SKUs, finishes and sizes, with typos and inconsistent codes. A product with no buyable options is a dead end for a customer, and when I started, 381 published products had none.
What I did
I wrote the import pipeline. Every row becomes a variable WooCommerce product with filterable finishes and sizes. Every load runs as a dry run first and is checked against the database afterwards, not against the loader’s own report. One rule decides what goes live: if I can’t price it from the price book, it doesn’t publish.
The result
The first production load put 1,503 products and 31,785 variations on the live store with zero duplicate SKUs and zero products missing their options. Two more brands followed: 871 products in a single load, bringing the store to 3,415 published products. The shop’s finish filter shows a colour swatch for 109 of the 131 finishes in use.
The stack
WordPress, WooCommerce, JetSmartFilters, WP-CLI, custom import scripts.

Remodeler: getting back rankings lost in a domain change

The problem
A remodeling and tile company moved to a new domain on a hosted site builder and lost much of the search traffic the old site had earned, even with the old domain forwarding. Their ad tracking was also under-reporting: at one point the ads account showed 1 conversion against 7 real form entries.
What I did
I rebuilt the site in WordPress on my server and imported the old pages from a backup of the previous host, SEO settings included, instead of rewriting them by hand. Then I mapped the old URLs to new ones with 301 redirects. When Search Console reported 145 “not found” URLs, I checked every one live: 46 already worked, 2 were bot probes, and 97 needed a rule. I also moved all the ad tracking into one small plugin and fixed the main contact form, which fires none of the browser events the old setup listened for, so its leads are now reported from the server.
The result
96 old URLs 301 to a live page. Form conversions report correctly, and the redirect work turned up the next job: about 60 old city pages never came back with the rebuild.
The stack
WordPress, Elementor Pro, Dynamic.ooo, Gravity Forms, Rank Math redirects, Google Tag Manager, Google Ads.

Performance transmission builder: a product catalogue that matches how customers buy

The problem
A high-performance transmission shop mostly sells to people building hot rods and high-horsepower cars. Those customers show up knowing how much power they’ve added, and they need a transmission that will take it.
What I did
I built the catalogue around the customer’s question. There are four power tiers, each paired with the transmission that fits the vehicle, so every product is exactly one tier plus one transmission. Horsepower ratings follow the pairing, because the same tier is rated differently on different transmissions. A library of 64 build components feeds a “What’s inside” section on each product. I set up the SEO from scratch, including local business and FAQ schema, and built a dedicated repair page because the shop wasn’t ranking for repair at all.
The result
The new catalogue is built and on staging, waiting to replace the live product setup.
The stack
WordPress, WooCommerce, Elementor Pro, ACF Pro, JetEngine for filtering, Rank Math, Gravity Forms.

What I can do for you

Want your project on this page?

Tell me what the job is. I’ll tell you how I’d approach it and what it would take.

770-596-8985