Home/Application Modernisation
Application Modernisation Expertise

Your applicationsmodernised,without disruption.

Audit, migration plan, progressive rebuild. We keep what works, replace what blocks, without freezing your developments or creating permanent dependency.

bascule-plan.v2.json
Sprint 06 · active coexistence
Migrated modules4 / 7 · 57%
ModuleLegacyTargetStatus
AuthenticationSymfony 3 · PHP sessionsSupabase AuthMIGRATED
Mandate managementPHP · legacy MySQLNext.js · PostgreSQLMIGRATED
Hunter spaceTwig · jQueryNext.js · ReactMIGRATED
Client portalTwig · jQueryNext.js · ReactMIGRATED
Admin back-officeSymfony EasyAdminDirectusIN PROGRESS
NotificationsCron PHP · SwiftMailerTO DO
ReportingManual CSV exportsTO DO
Coexistence activeUser disruption 0Sprint 06 / 11
01 — Why us

Three principles,
that distinguish modernisation from a rewrite.

An application that slows down your business doesn’t need to be discarded. It needs to be read, understood, and rebuilt piece by piece—while operations keep running.

01

Progressive migration

Coexistence of old and new until full switch. Your teams keep working while we modernize. No business interruption, no freeze on ongoing developments.

02

We take over the existing, we don’t discard it

PHP, Java, .NET, Symfony, legacy Rails, Bubble, Airtable: we audit, extract what holds value, rebuild what needs to be. No rewrite for the sake of it.

03

Handover to internal teams included

Documentation, code reviews, training. Our goal isn’t to become indispensable. You take back control whenever you want—it’s part of the scope, not an add-on.

AI in the takeover

AI speeds up the takeover,
not blindly.

Most integrators modernize manually. We use AI to read, rebuild, and document faster and more reliably—with human oversight at every step, and your code never leaving your premises.

Audit & mapping

Understanding a codebase no one masters anymore

AI agents read and map a massive, undocumented codebase: dead code, hidden dependencies, missing documentation reconstructed. The riskiest step in a takeover becomes quantifiable—we illuminate blind spots before any commitment.

Rebuilding

Migrating without breaking

Generation of non-regression tests to ensure old/new equivalence, assisted porting (PHP → TypeScript), documentation produced as we go. AI handles the repetitive; our devs retain architectural decisions.

Handover

Documentation that doesn’t expire

Documentation generated and kept up to date alongside the code, so your teams can take over—without depending on us or static docs delivered on the final day.

Your code stays in-house.We analyze your proprietary code using sovereign models (Mistral, Scaleway) or on-premise/self-hosted. No AI-washing: at each step, a precise tool, a measurable gain, a human who validates.
03 — Target stack

What we modernise towards.

Scroll’s standard target stack — modern, maintainable, recruit-friendly. No exotic tech with no future. The source code returns to you, in your Git, with no permanent dependency on Scroll.

Frequently modernised legacy
PHPSymfonyJava.NETRuby on RailsPythonBubbleAirtableFlutterFlow
Target stack — Scroll

Front

React
TypeScript

Back / Data

PostgreSQL

AI / Agents

Mistral, OpenAI, Claude

Auth

Ops / Hosting

OVH, Vercel
Docker
GitHub Actions

Monitoring

Sentry
PostHog
Target stack can be adapted to context: modern Java or Python if your IT team is already using them. The goal isn’t to force Next.js everywhere — it’s to set a target you’ll be able to maintain.
04 — Case study

JeRêveDuneMaison: from a rigid business app to a modern stack.

Business application for managing property hunter mandates, clients, and administrators. Progressive migration to Next.js + Supabase + PostgreSQL, with full documentation and support. Coexistence of old and new systems until the final switch.

Read the full case study
Real Estate · Property HuntingModernisation · Legacy → modern stack
Rigid business appNext.js + Supabase + PostgreSQL

400+ mandates
managed on the new platform.

Reconstruction of critical modules, historical data migration, training for three roles (hunter, client, admin), and a gradual switch with no service interruption.

400+mandates managed on the new platform
3modernised business roles — hunter, client, admin
0user disruption during coexistence
Next.jsSupabasePostgreSQLTypeScriptjerevedunemaison.com ↗
05 — Modernisation method

Four steps, no big bang.

A dedicated team from scoping to delivery with a dedicated project lead

01Audit

The existing system, independently.

System mapping, identifying bottlenecks, assessing technical debt, defining success criteria. Deliverable: diagnosis + migration plan + estimate. 1 to 3 weeks.

02Plan

The migration plan.

Which modules to keep, which to replace, in what order, and how they will coexist. Validation with your IT and business teams before any development. No surprises along the way.

03Rebuild

Module by module.

2-week sprints, delivery by modules. Your users switch over gradually, with no disruption. Automated testing and monitoring from the first module in production.

04Transfer

Final switch and autonomy.

Decommissioning the old system, team training, final documentation. Progressive handover to internal teams if desired — your IT regains control before the contract ends.

06 — Outcome

What you take away at the end.

A modernisation is only successful if your teams regain control. The source code returns to you, your devs are trained, and legacy subscriptions are terminated. No irreversible steps.

Source code is yours

TypeScript reviewed, tested, and documented. In your Git, under your licence. Not a blob exported from a third-party tool.

Data preserved

Historical data migration, integrity verified, process documented. User history is never compromised.

Teams trained

Training sessions, pair programming, documentation. Your devs take back control before the contract ends. No permanent dependency.

Legacy decommissioned

The old system is phased out gradually, module by module, after validated migration of each scope. No abrupt shutdown.

07 — FAQ

Frequently asked questions

The most common questions we hear during scoping. If yours isn’t here, get in touch!

Between 2 and 6 months, depending on the system’s size. The audit provides a firm estimate after 1 to 3 weeks—no blind quotes. A 10-year-old Symfony monolith with 80 tables is nothing like an 18-month-old Bubble app; we quote after real mapping, not before.

No. Coexistence between old and new is our default method—never a big bang. Your teams keep working, your users keep using the app, and business evolutions aren’t frozen. Modules switch over one by one, after continuous testing.

It’s decommissioned progressively, module by module, after each scope’s validated switch. No abrupt shutdown. Throughout the migration, old and new run in parallel, with explicit routing rules. The final module switches when you’re ready—not before.

Yes, systematically. Co-construction, code reviews, training, and pair programming at the end of the mission. Knowledge transfer is part of the scope—not an optional extra. Our goal isn’t to make ourselves indispensable to your operations: your teams can take over before the contract ends if they wish.

PHP, Symfony, Java, .NET, Ruby, Python, legacy Node. For no-code: Bubble, Airtable, FlutterFlow, WeWeb, Retool. For internal tools: custom ERPs, proprietary back-offices, accumulated business scripts. Independent audit in 1 to 3 weeks to assess feasibility before any reconstruction commitment.

This is a dedicated expertise: taking over “vibe-coded” projects. The logic differs from historical legacy—no debt accumulated over years, but often a missing architectural coherence. See our offer for vibe-coded/AI-coded project takeovers.

We keep what holds business value and works. A data access layer, a robust business rules library, an admin interface that does the job: no reason to discard. We rarely keep the frontend, almost never the authentication, and always the data. The exact scope is defined during mapping.

That’s precisely why the initial mapping takes 1 to 3 weeks. We identify blind spots, orphaned modules, hidden dependencies, duplicated data—before any delivery commitment. The switch plan explicitly lists residual risks.
The right time

Should we modernise now?

Modernisation is never urgent… until an event makes it urgent. If any of these signals resonate, the audit (1 to 3 weeks) tells you where you stand—with no reconstruction commitment.

01

Due diligence before a funding round or acquisition

An investor or acquirer will audit your code. Uncontrolled debt lowers valuation—or kills the deal.

02

The last developer who knows the system is leaving

When the only person who understands the legacy code departs, every update becomes a gamble. Mapping restores knowledge to the team, not to one individual.

03

A technology reaches end of support

PHP 7, an unmaintained framework, an abandoned dependency: once support ends, every vulnerability remains open. Modernising beforehand means choosing your own timeline.

04

A security incident has raised the alarm

Intrusion, leak, failed audit: legacy becomes a board-level risk. We secure by rebuilding critical modules, not by patching.

Get started

Do you have an application slowing down your business? Independent audit in 1 to 3 weeks.

Contact details
20 Rue des Taillandiers
75011 Paris
Response within 24 business hours.