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
NotificationsPHP Cron · 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

Gradual migration

Old and new coexist until full switch. Your teams keep working while we modernise. No business interruption, no freeze on ongoing developments.

02

We reuse what exists, 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 rewriting 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 application modernisation

AI speeds up the process,
not blindly.

Most integrators modernise manually. We use AI to read, rebuild and document faster and more reliably—with human oversight at every step, and your code never leaves 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 phase of a modernisation becomes quantifiable—we illuminate blind spots before any commitment.

Rebuilding

Migrating without breaking

Non-regression test generation 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 age

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 launch day.

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

What we modernise towards.

Scroll’s standard target stack — modern, maintainable, recruit-friendly. No exotic tech without a 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

Frontend

React
TypeScript

Backend / Data

PostgreSQL

AI / Agents

Mistral, OpenAI, Claude

Auth

Ops / Hosting

OVH, Vercel
Docker
GitHub Actions

Monitoring

Sentry
PostHog
Target stack adaptable to context: modern Java or Python if your IT team is already using them. The goal isn’t to enforce Next.js everywhere — it’s to set a target you’ll be able to maintain.
04 — Client 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.

Rebuilding critical modules, migrating historical data, training the three roles (hunter, client, admin), and progressive switch-over 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, identification of bottlenecks, technical debt assessment, 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 with what coexistence. 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, without disruption. Automated testing and monitoring from the first module in production.

04Transfer

Final switch and autonomy.

Decommissioning of 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 get at the end.

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

Source code is yours

TypeScript reviewed, tested, and documented. In your Git, under your license. 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 get 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.

Gradually decommissioned, module by module, after validated migration of each scope. 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 add-on. Our goal isn’t to become essential to your operations: your teams regain control before the contract ends if they wish.

PHP, Symfony, Java, .NET, Ruby, Python, legacy Node. No-code: Bubble, Airtable, FlutterFlow, WeWeb, Retool. 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 lack of architectural consistency. See our offer for taking over vibe-coded/AI-coded projects.

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, but always the data. The exact scope is defined during mapping.

That’s precisely why the initial mapping takes 1 to 3 weeks. We identify grey areas, orphaned modules, hidden dependencies, duplicated data—before any delivery commitment. The migration 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 with you, the audit (1 to 3 weeks) will tell 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 leaves, every update becomes a gamble. Mapping puts the knowledge back in the team, not in one person’s head.

03

A technology reaches end of support

PHP 7, an unmaintained framework, an abandoned dependency: once support ends, every vulnerability stays 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.