EA.
← Back to work

End-of-studies project · CESI Application Designer & Developer

B2B events directory

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.

Context
A directory connecting companies with event service providers. Providers pay a subscription, organisers use it for free.
My role
Work-study developer at H-TIC Digital. On this project: development, data scripts and estimating new features.
Period
2025-2026 · H-TIC Digital
Stack
WordPress · PHP · MySQL · JavaScript · Python · Swagger · Asana
29.10.25launch, on schedule
111 hof features estimated, quote signed
54/66tickets resolved at review
25klines in the listings module

Where it started

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.

Structure the data first

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.

Versioning listings with a mirror table

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.

Estimate, prioritise, steer

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.

  • Work breakdown: 6 packages, 38 tasks
  • RACI matrix and a 6-item risk register
  • Advanced analytics module shipped summer 2026
  • llms.txt, automatic sitemap, categories API documented in Swagger

What I took away

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.