Motor Events Racing
Race registrations kept running while we recovered a live site nobody could support
Motor Events Racing runs race registration, team payments and charity fundraising on one site that its previous team could no longer support. We took it over without breaking live payments, recovered code that existed only in production, and gave the owner full control.
Marketing & MediaEvent registration and fundraising siteModernized a live product
The challenge
The previous team could no longer support a live registration and fundraising site, and features running in production were missing from the code repository.
What we did
We cloned production to a test site, rebuilt the missing code, secured everything in the owner's repository, then fixed payment bugs before any redesign.
The outcome
The owner holds full control of his site, code and data, payment bugs are fixed, the site is revamped and donation receipts now send automatically.
- Recovered
- Sponsor app, member tab and admin pages missing from code
- Fixed
- Team payments, duplicate rows, rejected member places
- Added
- Automatic donation receipts in the partner's template
- Ownership
- All code in the owner's repository, handover documented
The starting point
Motor Events Racing is an Australian grassroots motorsport event organizer. Its website lets drivers and teams register for races, pay through Square and raise money for a charity partner, with an admin portal for events, registrations, payments and donors.
What had to change
The previous offshore team could no longer support the site, and the owner did not hold full control of his code or data. Production had drifted from the repository, so a fresh deploy would have wiped out live features.
What could not break
- Live registrations, team payments and donations keep working through race seasons
- No SSH access to the production servers at the start
- A fresh deploy from the repository would have wiped out live features
- A small organizer's budget, so every step had to be the simplest fit
The calls we made
We framed it as regain control first, then improve: nothing changed in production until a safe copy and a complete codebase existed.
- 01
Clone production before touching it
With no access to the live servers, we built an exact clone on a separate test backend and mapped every gap between what ran in production and what the repository held.
Ruled outRedeploying from the repository, which would have overwritten the sponsor app and several admin pages.
- 02
Give the owner a choice on access
We offered two ways to gain production access, cloning the instance or a short planned downtime to install our keys, so the owner decided the risk.
Ruled outWorking around the missing access without his agreement.
- 03
Fix payment integrity before the redesign
Bugs in team payments and member places touched real money, so they came before any visual work.
Ruled outBundling the fixes into a long revamp.
- 04
Choose the simplest fit each time
On a small organizer's budget we recommended a modern WordPress theme over a custom design, emailed receipts over a new payment flow, and the existing AWS setup with reserved instances over a move to shared hosting.
Ruled outRebuilding the React and Node apps or migrating hosting to save a little.
How the system fits together
What we built
Safe test environment and recovered code
A full clone of production on a test backend, plus rebuilt production only code: the sponsor app, the member benefits tab and admin pages for sponsors, event creation, admin profiles, the calendar summary image and team downloads.
Payment and registration fixes
Team captain payments now accept only positive whole amounts, duplicate payment rows and double payments are gone, team name changes reach fundraising pages, rejected members release their places, and the iPhone licence date input works.
Revamped site and portals
After a heuristic review of the old design, a modern WordPress theme for the public site and customer portals, focused on events and registration, with the registration, payment and admin apps kept in place.
Automatic donation receipts
Receipts generated and emailed on every successful donation, in the charity partner's template, and kept in the admin section, without a new payment flow.
How it works
Clone
Production is copied to a test site on its own backend so nothing live is at risk.
Reconcile
Every page and app running in production is checked against the repository and missing parts are rebuilt.
Secure
Code, data and hosting details move into the owner's repository with a handover document of every environment.
Fix
Payment and registration bugs are fixed and tested on the test site before release.
Improve
The revamp, receipts and store ship as small, separate changes on top of a site the owner controls.
What changed
The owner went from depending on an unreachable team to holding full control of his site, code and data. Payment bugs were fixed, the site was revamped, and the charity partner confirmed that donation receipts now send automatically.
“They are very easy to get in contact with and very helpful.”
Under the hood
- Datics role
- Modernized a live product
- Architecture
- WordPress public pages with three to four React apps mounted inside it for registration, members, sponsors and admin, over a Node backend.
- Payments
- Square for entries, team payments and donations. Receipts go out by SMTP on each successful payment and are kept in the admin section.
- Hosting
- AWS with Amazon EC2 and Amazon RDS MySQL on reserved instances to cut cost, plus a separate test site on its own backend.
Cloud and infrastructure
Apps and APIs
Also in the stack
How it shipped
Discovery and a test site
A discovery call, then a clone of production on a separate test backend and a map of every gap between production and the repository.
Recover and secure
Rebuilt production only code, all code in the owner's repository, a working test site and a handover document of every environment.
Payment fix rounds
Team captain payment validation, duplicate payments, team name changes, rejected member places and the iPhone date input, each tested before release.
Review and revamp
A heuristic evaluation and suggested improvements the owner approved, then a modern WordPress theme for the public site and customer portals.
Receipts and ongoing support
Automatic donation receipts, reserved AWS instances to cut cost, and a yearly support agreement with monthly health reports.
Ownership by design
The owner asked never to be locked out again, so everything lives in his repository and a one page handover lists the test site, the code and everything needed to keep control.
Recommendations he could approve
Each step came as a short document with options, from the heuristic evaluation to the hosting comparison, and the owner chose.
Ongoing support
The work continues under a yearly support agreement with monthly system health reports and severity based response targets.
What this unlocked
With the site under the owner's control and on a support plan, new work is small and safe to ship, and a merchandise section on the main site is planned.
Related work
Have a product with the same kind of constraints?
Tell us what already exists and what you want it to do. We will tell you what it takes.
