Ways to engage
ERP and legacy modernization starts with the risk that must be reduced first.
I combine architecture decisions, hands-on implementation and production ownership in one principal-level engagement.
We can begin with a fixed-scope assessment, stabilize the highest-risk parts of the environment or take ownership of incrementally modernizing a complete business process.
When to start
The system is running, but every change increases risk.
- 01
Your legacy system is too important to replace and too risky to change.
- 02
Deployments and incidents depend on one person.
- 03
Orders, products and inventory disagree across systems.
- 04
The team needs principal-level ownership, not another vendor.
Four engagement models
The scope follows the first responsibility that needs clarity.
-
01
Legacy Modernization Assessment
When this engagement fits
When the system is critical but there is no shared risk map or safe sequence for change.
- A map of systems, dependencies and critical processes
- Sources of truth and hidden data responsibilities
- Operational risk review
- A decision to stabilize, extract, replace or rewrite
- A 90-day and 12-month roadmap
A Legacy Exit Map grounded in business processes and production risk.
-
02
Stabilization & Operational Excellence
When this engagement fits
When delivery, incidents or recovery are too risky to begin modernization safely.
- Repeatable deployments, dry-runs and health checks
- Rollback plus technical and business observability
- Backup, recovery and secure access
- Cloud and database migrations with controlled risk
A system that is safer to operate, diagnose and change.
-
03
ERP Architecture & Incremental Delivery
When this engagement fits
When a company needs to move complete processes out of legacy without a big-bang release.
- Domain boundaries across OMS, SCM, PIM, WMS, pricing and marketplace integrations
- Data ownership and explicit contracts
- REST, events, idempotency and backorders matched to the process
- Rollout, verification and retirement of the old responsibility
Complete processes moved into domains with explicit boundaries and ownership.
-
04
Principal Engineer / Architecture Partner
When this engagement fits
When a team needs independent architecture decisions and hands-on support without adding another management layer.
- Architecture, ADRs and critical implementation paths
- Independent review of code, vendors and the platform
- Technical due diligence and cost review
- Migration leadership, team enablement and AI engineering governance
Direct technical ownership where the risk is highest.
How we start
Start with the critical process, then define the technical scope.
The first steps establish the risk, ownership boundaries and the smallest change that can be verified safely.
- 01
Discuss the process
Establish what the system does, what failure would mean and which responsibility cannot be lost.
- 02
Choose the right engagement
Decide whether the first step should be an assessment, stabilization, process extraction or an ongoing principal-level partnership.
- 03
Make the result and boundaries explicit
The scope states the expected outcome, Piotr’s personal responsibility and what remains outside the engagement.
Production evidence
Responsibility is stated as clearly as the result.
The case studies connect architecture, implementation, constraints and verified outcomes without implying unapproved client endorsement.
Modernizing a critical ERP without stopping sales, purchasing or warehouse operations.
A multi-channel automotive parts wholesaler relied on several undocumented, tightly coupled legacy systems. Instead of rewriting everything at once, I moved complete business processes into auditable domains while keeping sales, purchasing and warehouse operations online.
Modernizing a marketing automation platform processing up to about 45,000 events per minute.
At roughly 1,000 integrated stores, disk-based event processing and server-by-server scaling were reaching reliability and cost limits. The platform moved to queues and scalable workers while critical PHP and Java components were modernized incrementally.
Normalizing European PSD2 bank integrations for an Account-to-Account platform handling hundreds of thousands of transactions each month.
European banks exposed different APIs, statuses and failure semantics. I implemented integrations that mapped these contracts into one Account-to-Account payment flow with Mutual TLS, certificate handling and explicit behavior for retries, duplicates and ambiguous states.
Removing customer lookup from support calls on an e-commerce platform serving more than 20,000 stores.
Support agents handling roughly 400 calls a day could spend up to 60% of a conversation identifying the caller and reconstructing their context. A telephony integration prepared the customer, store and support history before the call was answered, practically eliminating that lookup step.
Automating catalog updates for nearly 10 million automotive products.
Supplier data was incomplete and inconsistent, while each catalog update required days of developer work. I designed an automated architecture that processes weekly TecAlliance deltas after publication and keeps a standardized catalog of nearly 10 million products current.
Your system
Which risk should we reduce first?
For the first conversation, bring the process context, the failure the business cannot accept and the change it needs. Source-code access is not required.
Discuss your system