Case Study
When the vendor took the code with them
Global Professional Relationship Platform · Associate Project Manager · 2023
At a glance
Role
Associate Project Manager (Level I)
Duration
9-12 months
Team
16+, fully remote across Canada, India, Philippines, Nepal
Stack
JavaScript, Kafka, Docker, Keycloak
Scale
2,000+ live users
The situation
My company was a .NET and Python shop. We won a client engagement that required an entirely different stack, which meant hiring a team from scratch and onboarding them into both an unfamiliar codebase and a company culture none of them had seen. The platform was already live and serving thousands of users, and we were taking it over from an outgoing vendor.
The challenge
The handover was not a handover. The outgoing vendor stripped proprietary Apache and Kafka packages out of the codebase they gave us and demanded additional payment to return them. Production kept running, but development stopped cold for roughly two months. We attempted to reverse-engineer the missing pieces and got a partial, unstable workaround before the client agreed to pay the vendor. Meanwhile the client held us to the original timeline. And at the end of it all, we still had to migrate a live platform off vendor-owned infrastructure onto the client's — over a single weekend, without downtime, with a team spread across four time zones.
What I did
Rebuilt the plan instead of defending the old one.
Two months of blocked development is not something you absorb quietly. I reorganized sprints, drove a descoping conversation with the client, and renegotiated scope and budget to reflect the delay — so the schedule reset was a joint decision rather than a missed deadline.
Onboarded an entirely new team deliberately.
Everyone was new to the stack and to the company. I ran structured onboarding rather than assuming senior hires would self-organize into a working team.
Staffed the migration as a relay, not a marathon.
The cutover needed 20-24 hours of continuous coverage. Rather than asking one team to work through the night, I choreographed handoffs across Canada, India, the Philippines, and Nepal so each region worked its own daylight hours and passed the baton.
Escalated something everyone else dismissed.
After migration, the site failed to load correctly unless users cleared their browser cache. The team's read was that this was minor — comparable past incidents had affected 40-50 technical users who'd know to clear a cache. My read was different: this user base was two orders of magnitude larger and non-technical, and "clear your cache" is not an instruction they'd act on. I escalated against team consensus. Killing all active Keycloak sessions fixed it, same day.
The outcome
- Live migration of a multi-thousand-user platform completed over one weekend with no extended downtime.
- The two-month vendor blockage was resolved commercially rather than eaten as a loss — scope and budget were renegotiated with the client.
- Leadership specifically recognized the cache escalation.
- The engagement delivered with the client relationship intact.
What I took from it
Being the least experienced person in the room is not a reason to defer on a judgment call. The cache issue was dismissed by people with more experience than me, and they were reasoning from a real precedent — it just wasn't the same situation. Knowing your users specifically beats knowing incidents generally.