The first version was unstable, with no documentation and no spec. The agency took it on under one condition: a full rebuild rather than patching.
WordPress was a given, and the site's existing search ranking could not slip.
End-of-studies project · CESI Application Designer & Developer
Take over an undocumented B2B platform, relaunch it in two months, then keep it evolving without breaking its SEO or the trust of paying customers.
The first version was unstable, with no documentation and no spec. The agency took it on under one condition: a full rebuild rather than patching.
WordPress was a given, and the site's existing search ranking could not slip.
Around 15 categories, 13 regions and about a hundred départements, scattered across a working spreadsheet and the old database. I wrote Python scripts to check consistency and produce repeatable import files.
Search filters then became data: stored in the database, managed from an admin screen, and turned into SQL by the search component. Adding a filter no longer needs any code.
Providers needed to edit their listing without their published version disappearing. Instead of a full history, I went with a mirror table: one pending version per listing, approved by moderation. Five test scenarios written up front, five passed.
Real-world use then showed a sales badge vanishing on every approval. The fix separated editorial fields, set by admins, from fields declared by the provider.
With no spec, the quote served as the contract. Each request was broken down into estimable parts. “Duplicate a listing” is a button, a field copy, images, a counter and permissions. That's how you reach a figure you can defend.
In spring 2026 the stream of feedback turned into a steering committee: 19 topics sorted into bugs, fixes and features, then three sprints.
Of six indicators set at kick-off: two met, three partly met, one missed: server stability during email campaigns. I'd rather say it than hide it.
Before you can build well, you have to understand well, estimate well and communicate well.