Case 02 · Selected Work
Taking the typing out of a document workflow that could not go offline
A hybrid OCR and LLM pipeline substantially reduced the manual data entry in a high-volume shipping-document workflow, inside an operation whose source systems had no API and could not be replaced.
- Role
- Senior Business Process Specialist
- Capabilities
- Applied AI · Automation · Production ownership
- Domain
- Global container shipping — finance and logistics operations
- Constraint
- Source systems with no API, and often no usable web surface
Context
The Malaysian arm of a global container shipping line, where I was the Senior Business Process Specialist. A small team — mainly me and one colleague — with decision gates in two other countries. Finance and logistics staff were reading a high daily volume of shipping documents and typing what they found into systems by hand.
Problem and ambiguity
Nobody had a written description of how the work was actually done, so step one was not automation, it was archaeology. The documents arrived in very different conditions, from clean machine-generated files to material so poor the finance team resolved it by phone. And the systems on both ends were independent: no API, and often no usable web surface either. Replacing them was never on the table, on cost grounds alone.
My role
I analysed the undocumented finance and logistics processes to identify which manual, repetitive, error-prone steps were worth automating at all. I architected the document pipeline, built its Python backend APIs, and engineered and deployed the RPA workflows around it.
Discovery
Sitting with the people doing the work, mapping what actually happens rather than what the process says happens, and then testing each candidate step against one question: if this is automated and it fails at 09:00 on a Tuesday, what does the business do instead?
Architecture and trade-offs
Hybrid OCR plus LLM rather than pure LLM extraction. That was a dated decision, and it was the right one at the time: LLM vision could not extract reliably from real-world documents then, so OCR fed per-format reading panels where known field positions were masked and extracted positionally, and the language model did the part it was actually good at. The integration was deliberately non-invasive — read from what already exists rather than ask an enterprise to replace core systems it has no intention of replacing. My summary at the time was that we had many constraints, so we could only get there indirectly, and I still think that is the honest description of most enterprise AI work.
Implementation and integration
Python backend APIs serving the per-format extraction panels and the review queue, plus an operator interface that could continue a run from wherever the automation stopped. RabbitMQ for asynchronous processing. Validation controls and audit trails throughout. RPA workflows spanning data capture, validation and reconciliation across finance and logistics operations.
Production controls
This is the part I would defend hardest. Extracted values never went straight to the database: they landed in a human review queue, corrections were made there, and even clean records were double-checked before commit. A collection run could take hours and could be interrupted at any point, so runs were designed as checkpointed nodes that resume from a recorded position instead of restarting. The job started early in the morning specifically so that a failure was visible by the time staff arrived, leaving them time to fall back to the manual process and still complete the handover before midday. And the automation was never all-or-nothing: if the machine got halfway, a person could take the rest from an interface — not a node diagram, not code.
Impact
Most of the manual data entry came out of the workflow, and the operation kept running throughout. No figures are published for this engagement — a deliberate NDA decision, and it applies in conversation too.
Reusable learning
The architectural position I formed here I still argue for: for enterprises that will not replace their core systems on cost grounds, the right integration is the one that reads from what is already on the operator’s screen. And a human-in-the-loop step is not a shortfall in the automation — it is what makes the automation deployable.
Evidence pending
A clean-room rebuild over synthetic shipping-style documents, with reading panels, a review queue and checkpointed runs, is specified as project P4; it is not built.