I built SJD Taxi’s website and launched it in April 2023, working for them directly, and built its
zone search pages alongside it. When I started Gamache Technology Solutions in February 2024, their
upkeep moved to it. The 2025 booking rebuild was split between Gamache Technology Solutions and my
work at Perfect Afternoon, depending on my availability and how urgent each part was.
The 2023 site, and the optimizations I made to it from 2023 to 2025, helped their business grow
substantially.
Their bookings ran through a plugin from 2015 that kept every booking as a WordPress post. By
September 2022 SJD had hired an outside development team to build a replacement. They worked on it into
March 2023, then stopped. What they left
pointed in a good direction but was not yet a working system. It was also a direct replacement for the
old booking form, so it kept the old plugin’s problems: it could not easily be installed on another site, each site kept its
own bookings with order numbers that could overlap, and the plugin itself had no connection to
HubSpot, where the client wanted its CRM to live.
SJD needed someone to turn that into a working system. In May and June 2025 I wrote the scope, then
built it. The outside team had laid the foundation of the TypeScript and React booking form and
the database structure, and I built on both: I refactored the booking form nearly completely, and
rebuilt the whole back end around a REST API, because the back end and the form had lived in the same
plugin. I built the REST API and most of its controllers and handlers, and refactored every class and
connector. I moved the booking logic into a central booking hub, made the booking plugin something that
installs on any site and connects to the hub, put all four sites on one shared booking number sequence
with a prefix for each site so order numbers can no longer collide, and, with a colleague, routed the
booking data into HubSpot.
A Perfect Afternoon colleague had built the first HubSpot sync. It was good, but because it sat
outside the booking plugin it had limits, so in May 2026 I merged it into the hub plugin and refactored it,
with better error handling, tracking and alerts, and cleaned up a lot of old code along the way. Since the
rework, scheduled checks resurface any booking that has not synced, and no deal has missed HubSpot.
Having every booking in one place, and in HubSpot, is what made the rest possible: remarketing to
recapture lost bookings, which now wins back roughly two thirds of them, and the booking statistics
and analytics we use, alongside the site’s Microsoft Clarity heatmaps, to keep improving the booking
flow’s performance and conversion rate. It went from something that just functioned to
something we can keep optimizing.
It also shaped the new sjdtaxi.com. I did not build or design the site that replaced the 2023 one in
January 2026, but I had a large say in its design and in how the booking functionality would fit into it. I
built its location page structure and main zone search, as I had built the zone search for the 2023
site. Since 2025 my focus has been the booking system and making the whole thing run better.
A sister site went live on the new system in November 2025 as the first test, and sjdtaxi.com and
the other two sister sites moved over together in January 2026. All four have taken their bookings
through it since.