I work on legacy systems — the ones that outlived their original authors and that nobody on the team wants to touch. Audits, refactoring, performance, and untangling business logic that grew for a decade without a plan.
Mostly PHP and Symfony, 15+ years. Based in Bali (UTC+8), working async with teams in Europe and the UK.
My open-source libraries have been installed ~71,000 times on Packagist.
| Package | Installs | What it does |
|---|---|---|
| expert-sender-api | 35,600+ | PHP client for the ExpertSender API |
| composer-symlinks | 22,000+ | Relative symlinks from Composer scripts |
| offset-page-logic | 6,400+ | Offset/limit ↔ page/page-size conversion |
| offset-page | 6,200+ | Page-based APIs → offset-based pagination |
| minjust | 670+ | Parser for the RF Ministry of Justice registry |
Recent work:
- cqrs — Symfony bundle wiring Command, Query and Event buses on top of Messenger. Attribute-based handler discovery, configurable stamp pipeline, PHPStan level 8.
- p2p-path-finder — toolkit for discovering optimal peer-to-peer conversion paths. Deterministic arithmetic, clean domain/application separation.
- correlation-id — PSR-15 middleware for correlation ID propagation. Symfony 6/7 or any PSR-15 stack.
- dsx — sync files between a Claude Design project and a local directory without the bytes passing through a model's context. Single Go binary, stdlib only.
Legacy audit. A written report on a codebase you inherited: module map, risk areas, upgrade path, prioritised debt. Fixed price, fixed timeline.
Rescue and refactoring. Bringing an aging system back under control — PHP and Symfony upgrades, decomposition, test coverage where there was none.
Performance. Finding out why it got slow, and making it not slow.
I work in writing, asynchronously. Time zone overlap with Europe covers the European morning.
PHP · Symfony · Doctrine · PostgreSQL · MySQL · Redis · Elasticsearch · RabbitMQ · Kafka · Docker · Kubernetes · Terraform · Go · TypeScript · Node · AWS
Day to day I lean heavily on AI agent orchestration — it is how a single engineer covers ground that used to take a team.
i.pinchuk.work@gmail.com · LinkedIn
Happy to look at a codebase and tell you what I see. Written questions get written answers — no discovery call required.



