New-client deployment: 3–4 months down to 2–3 hours
Replaced copy-paste client forks with one versioned core and turned scattered customisations into configurable features.
- 3–4 mo
- deployment before
- 2–3 h
- deployment after
- 1
- central codebase for 200+ clients
The problem
Each new client started as a copy of another client’s code with git history stripped out. Features and bugs drifted across 10+ divergent copies. Merging a single feature into a new deployment took 1–2 days, and a full rollout took months.
Approach
- 01
Fix git discipline first
Moved the team off giant commits, live edits on production and dated backup folders, toward one commit per unit of work. That made every later step possible.
- 02
Create a core project with provenance
New clients are now forked from core, and their first commit records the source repo and commit. Every divergence can be traced, and fixes flow across projects.
- 03
Turn customisations into options
Identified the customisations clients kept asking for and rebuilt them as optional, configurable features inside core instead of per-client patches.
Outcome
Setting up a new client went from a quarter-long merge project to an afternoon. Upgrades and cross-client bug fixes became routine instead of risky.
What I took awayThe biggest speedups were process and structure, not code. Code only became reusable once history was trustworthy.