Work

We take the code that is still running.

The work starts from the code, the data paths, and how releases actually happen. An assessment says what should move, what should stay, and what needs a clean interface around it. Language and framework are not the hurdle.

Services

  1. Legacy code assessment

    We read the tree, the build and release path, where data is written, the scheduled jobs, and the outside calls. The result is a scope someone can start: what moves first, what stays for now, and which access is missing. It is not a list of principles detached from the code.

  2. Splitting and refactoring

    We separate responsibilities that have piled onto each other, while the business keeps running, so later changes can stay local. The split follows real calls and data, not the names of directories.

  3. Language, framework, and runtime migration

    The usual subjects are a framework nobody maintains, a runtime that can no longer be patched, or a monolith that can no longer be changed safely. The point is to keep behavior, not to arrive at a newer stack.

  4. Tests and regression

    Where a path has no tests and lives in a few people's memory, we add characterization tests and the regressions that matter. Tests pin behavior. They are not there to raise a coverage number.

  5. Handover

    We write down the module boundaries, how the system runs, the cutover steps, and the risks still open, in a form the next owner can read. When the work ends, the system should not exist only in the heads of the people who changed it.

What we do not take