AI-assisted legacy modernization
Move off Oracle PL/SQL without rewriting blind.
LegacyLift reads your stored procedures, packages and schemas, explains what they actually do, locks in today's behavior with tests, and generates a reviewable migration to Spring Boot and PostgreSQL, one module at a time.
Powered by Claude. Built for banks, telcos and enterprise IT teams in Vietnam and Southeast Asia.
PROCEDURE apply_late_fee(p_acct IN NUMBER) IS v_due NUMBER; BEGIN SELECT balance INTO v_due FROM accounts WHERE id = p_acct FOR UPDATE; IF v_due > 0 AND SYSDATE > due_date(p_acct) THEN UPDATE accounts SET balance = v_due * 1.02 WHERE id = p_acct; END IF; END;
// Behavior: +2% fee if overdue (row-locked) @Transactional public void applyLateFee(long acctId) { Account a = repo.findByIdForUpdate(acctId); if (a.isOverdue(clock) && a.hasBalance()) a.setBalance(a.getBalance().multiply(LATE_FEE)); }
The problem
Your business logic lives in a database nobody wants to touch.
Decades of rules are buried in thousands of PL/SQL lines. The people who wrote them have moved on. Licensing keeps going up, and every rewrite estimate is measured in years.
- No one fully understands the codePackages call packages call triggers. Documentation is stale or missing.
- Rewrites break quietlyWithout tests that pin current behavior, a "faithful" port fails in production on edge cases.
- Big-bang migrations stallTeams freeze features for months and still can't prove the new system is equivalent.
- Skills are scarceEngineers who know both PL/SQL and modern Java are hard to hire and expensive to keep.
How it works
Understand first. Then migrate in small, verified steps.
Ingest
Connect read-only to your schema, or upload DDL and package sources. No production row data required.
Map
Build a dependency graph of tables, packages, triggers and jobs, and find the safest modules to move first.
Pin behavior
Generate plain-language docs and characterization tests that capture what each procedure does today.
Migrate
Produce Spring Boot services and PostgreSQL DDL as pull requests that your engineers review, run against the tests and merge.
What you get
Artifacts your team can review, not a black box.
Living documentation
Every procedure explained in English or Vietnamese: inputs, side effects, business rules and callers.
Dependency map
An interactive graph of objects and call chains, with a recommended migration order by risk.
Characterization tests
JUnit and SQL test suites that pin current behavior, so you can prove the new code matches the old.
Spring Boot code
Idiomatic services, repositories and transactions that follow your team's conventions, not generic boilerplate.
PostgreSQL schema
Converted DDL, sequences and type mappings, with every Oracle-specific construct flagged for review.
Migration roadmap
Effort estimates per module and a phased plan your management can actually budget for.
Built for regulated teams
Your code is analyzed. Your data stays home.
LegacyLift works on source code and schema metadata. It never needs customer records to understand your system.
- Read-only accessLegacyLift only reads DDL and source. It never writes to your database.
- Secret & literal maskingCredentials, hard-coded IDs and sensitive literals are redacted before any code is sent for analysis.
- Human in the loopEvery generated change arrives as a pull request. Nothing ships without your engineers' approval.
- Self-hosted option (roadmap)Run the LegacyLift workers inside your own network for stricter compliance.
Design-partner program
Bring us one gnarly package.
We're working with a small number of early teams. Send us one PL/SQL package and we'll return its documentation, dependency map and a test suite, free of charge.