Skip to main content
06Case studyExtracadabra · Lead Frontend

Extracadabra

Take over a POC without stopping products already in motion.

Role
Lead Frontend Developer
Team and scope
3 to 4 developers · Public website and blog
Period
August 2023 to March 2024
Stack
Vue 3 · Nuxt · Strapi · Docker Compose · Monorepo
Extracadabra homepage presenting the areas for candidates and businesses
Extracadabra public website capture provided on 20 August 2026. It documents the current surface, after my role.View official source (opens in a new tab)

At Extracadabra, I led a team of three to four frontend developers. The public website and blog POC already used Nuxt and Strapi. My main contribution was making it more reliable through a monorepo, stronger CI, and a local environment that was easier to reproduce.

Taking over a POC in motion

The Extracadabra public website and blog explain the service to candidates and businesses, direct them to the right workspaces, and give the editorial team a place to publish content. These surfaces already existed as a POC built with Nuxt and Strapi.

The wider product also included mobile applications still active on Vue 2. Their development continued in parallel, with different constraints and a different cadence from the public website.

Strengthen an existing product without slowing down the others

The website and blog POC had to become a durable foundation. The goal was not to replace Nuxt or Strapi, but to improve code organization, CI, the local environment, and contribution practices while addressing performance, SEO, and editorial autonomy.

At the same time, mobile development had to continue on Vue 2 while the first Vue 3 building blocks were prepared. The organizational challenge was therefore to run several migrations without interrupting ongoing product delivery.

My lead role

I led a team of three to four frontend developers. I directed the foundation work, the Vue 2 to Vue 3 migration, the organization of applications in a monorepo, and improvements to the CI pipeline.

The public website and blog moved to Vue 3 during the rebuild. The first mobile application building blocks were prepared in parallel so the team could continue the migration while Vue 2 development remained active.

A more reliable web foundation

Evolve the existing Nuxt and Strapi POC

Nuxt and Strapi were already in place. Moving to Vue 3 was part of the rebuild, but the main work focused on project reliability, maintenance, and making the codebase easier for the team to take over.

Structure the monorepo and CI

The monorepo brought projects and tooling together while each application kept its own lifecycle. CI and contribution conventions were shared without artificially coupling the website, blog, and mobile applications. This made changes more predictable and improved the developer experience.

Make the local environment reproducible

The POC used SQLite locally. I set up Docker Compose to run Strapi and the required dependencies reproducibly. Local setup no longer depended on a sequence of machine-specific steps.

What the team could take over

The work also covered website performance, SEO, and editorial autonomy. The POC became a foundation the team could maintain and evolve with clearer responsibilities.

The monorepo, CI, and Docker Compose environment made the project easier to take over. The first Vue 3 mobile foundations let the team continue the migration in parallel with ongoing Vue 2 development.

What stayed with me from this rebuild

Moving to Vue 3 was the visible part. The main work was making the existing product reliable, straightforward to install, and easier to evolve while the Vue 2 applications kept moving.