The problem
Big Mike’s was running on a stitched-together mix of social posts, phone calls, and a shop calendar. Customers wanted to see what was in stock, book an install, and pay a deposit without a phone tag. The shop wanted every booking to land in one place with the install bay assigned and the deposit cleared before the customer walked in.
A generic booking SaaS could have done part of it. None of them spoke fluent car audio — head units, amp configs, install times that varied by vehicle. The shop needed something that fit.
What we built
A storefront and booking system on Laravel and Livewire. The catalog is the source of truth for both retail and installs: each product carries its own install time and bay requirement, so when a customer books, the calendar respects how long the actual job takes. Deposits run through Stripe; the rest is collected at pickup.
The admin side is where the shop lives day to day. The schedule view shows the week at a glance, drag-and-drop reassigns bays, and the customer record carries every job, deposit, and note in one column. The owner can run the whole shop from a phone if the back-office machine ever blue-screens — which it has.
We kept the public site quiet on purpose. No carousel, no “shop now” pop-up, no chat widget. Type fast, photos clean, the booking form is the loudest thing on the page.
How we shipped it
Two-week build cycles with the owner walking through each one in the bay. We sat with installers between jobs to learn what slowed bookings down, then wired the admin around those frictions instead of around a generic admin template. The first two weeks were entirely about install times and bay assignment — get those wrong and nothing else matters.
Photography and copy stayed the owner’s territory. Our job was to make sure good photos and plain language never bumped into a slow page or a janky form.
Outcome
The shop now takes bookings around the clock, deposits clear before the customer arrives, and the install schedule fills itself without a phone call. The back office runs from one screen instead of three.
[OWNER TO CONFIRM — bookings per week before/after, average ticket size change, or whatever metric the owner is comfortable putting on the record.]