Agence immobilière · Bruxelles et Marrakech
An agency cannot close during a migration.
Pavimmo sells and rents in Brussels and Marrakech. An estate agency lives on callbacks within the hour and files that move every day. There is no window where the CRM can be unplugged for two days, so the migration had to happen while the agency worked.
See the live systemThe problem
New code is the predictable part of a rebuild. Data is not. Pavimmo had years of client history, duplicates created by three generations of agents, text fields repurposed to hold dates, and business rules that existed nowhere except in data-entry habits.
A rule that lives only in the head of the person doing the typing cannot be read from a schema. It is found by comparing what the database contains with what the agency believes it contains, and the gap is always wider than expected.
The hard constraint was the absence of a downtime window. You can cut functional scope, postpone a module, simplify screens. You cannot migrate 80 percent of a client record.
What we did
We treated the migration as the main project and the rebuild as the secondary one, because that is where the risk actually sits. Most of the effort went into cleaning, mapping and reconciliation testing rather than writing new code.
The migration was replayed against copies as many times as needed, measuring the differences until they reached zero. A migration you cannot replay is not a migration, it is a bet you only get to place once.
The source system stayed in production from the first day to the last. Cutover ran with a dual-run period and a rollback plan written before it was needed.
The public site runs today on Next.js and Vercel, in French with Dutch and English support, serving both of the agency's markets.
Where it stands
The agency did not stop trading during the migration. That was the objective set, and it is the result delivered.
Pavimmo is live and credits JADEV in its own footer, so the relationship is public and checkable without going through us.
We publish no quantified productivity gain. No before-and-after measurement was given to us for publication, and we do not manufacture that kind of figure.
- Next.js
- Vercel
- Migration de données
- Nettoyage et mapping
- Tests de réconciliation
- Double run et plan de repli
The technology of the new system matters far less than the quality of the reference data. That is the most transferable lesson here: the framework debate fills entire afternoons and barely moves the budget.
Common questions
- How is a migration like this priced?
- In four blocks of days: audit, migration, rebuild and cutover. The multipliers that blow up a budget are known: no reliable unique key in the source, undocumented business rules, and a cutover required with no interruption. Our articles on rebuild pricing set out the full method.
- What happens if the cutover fails?
- It has to be able to fail without consequence. That is what the dual run and the rollback plan are for, both written before cutover. A migration quote that mentions neither has moved the risk from their side of the table to yours without saying so.
- Can you name Pavimmo because they are a client?
- We name a client when they consent. Pavimmo already credits JADEV publicly on their own site. Other clients do not permit us to name them, and those stay anonymous here rather than dressed up as vague references.
A migration you have not dared to start?
Describe the system, its history and the window you have, with no personal data. We scope the perimeter and the access before proposing anything.
Describe my problem- Technical debt: what it costs and when to repay itHalf of what gets called technical debt is not debt. How to tell deliberate borrowing from ordinary mess, how to make the cost legible to a board, and why some of it should be left exactly where it is.
- E2E testing a legacy web app: the prerequisitesJava 1.5, WebForms, PHP: an E2E test does not read your code, it looks at HTML. Here are the six prerequisites that actually matter, and the real limits.
- Zero downtime data migration: dual write to cutoverThe new system shadows the old one in silence, the copies are proven to match, and the rollback lever stays live until the end. The full playbook, priced, limits included.
- Legacy application modernization cost, explainedThe budget floor of a rebuild is the data migration, not the new code. Here is how we price one: four blocks of days and a multiplier table, with a worked example at our public day rates.
- ParkAgenda · Operations SaaS for airport parkingMulti-channel bookings reduced to a single queue, then shuttles, staff scheduling, vehicle condition capture and on-site payment.
- AutoMotoMarket.be · Used vehicle marketplaceAutoScout and mobile.de stock ingestion, CSV and XML import, verified sellers, three languages, subscription tier for dealers.

