Outmatic
Outmatic
A legacy Permit to Work system for Bunge, modernized without a rewrite. Around 40% faster operations, a dramatically more stable platform, and a new mobile signature that brought permits onto phones and tablets.
Outmatic
Engineering Team
Tagline: From a fragile legacy system to a platform worth building on.
Client: Bunge, international agribusiness group with industrial operations across multiple countries.
Bunge operates across the global agribusiness sector, with industrial plants spread across multiple countries and languages. Inside those plants, work permits are a safety-critical process: who can do what, where, under which conditions, with which approvals. Getting it wrong has real consequences, for compliance and for operations.
For years, that process had been handled by an internal application built in VB.NET by an external vendor. It had been useful once. But over time it had become the kind of system nobody wants in production: slow, hard to change, accumulating bugs, with security issues no one was comfortable with. The business couldn't afford to lose it, and couldn't keep it the way it was.
Bunge came to Outmatic looking for a way out that didn't involve starting from scratch. The goal was to restore reliability and performance without interrupting the processes running on top of the system, and without breaking compatibility with Bunge's multi-site, multi-language infrastructure.
The state of the existing platform was the challenge in itself. A monolithic architecture with business logic and presentation tangled together. A SQL database running without indexes. No automated tests. No separation between front-end and back-end. Every intervention, no matter how small, was slow and risky.
The real weight wasn't technical. It was operational. The platform governed safety-critical processes with direct impact on compliance and on what could and couldn't happen inside the plants. Any downtime, any regression, any security gap landed somewhere concrete.
We started with an audit. Not a cosmetic one, but a deep read of the existing codebase, done side by side with the Bunge IT team to understand what was actually happening inside the system and which issues needed to be addressed first.
The approach was incremental and deliberate: stabilize before evolving. There's a version of this kind of project that turns into a full rewrite. It almost never ends well. The alternative is harder and more useful: diagnose precisely, fix in the right order, introduce modern practices gradually, and keep the business running the entire time.
The stack choices reflected that discipline:
React was introduced on the front-end, to replace the tightly coupled UI and make the system responsive and modular.
.NET was kept and modernized on the back-end, with a clean separation between front-end and back-end and cleaner responsibility boundaries inside the application layers.
An automated test suite, which hadn't existed before, was built from scratch. It became the foundation that made every subsequent change safer.
The project moved through two connected phases.
The first focused on rehabilitation. Reading the legacy codebase carefully, fixing functional and security bugs, closing the gaps that had accumulated over the years, and putting tests in place for everything we touched. By the end of this phase, the system had stopped being fragile. It was still the same application, but it could be trusted again.
The second phase turned that stable foundation into something Bunge could actually grow with. On top of a modular architecture and a clean split between front-end and back-end, we designed mobile signature from phones and tablets. Permits could now be approved and signed directly where the work happens, which for a multi-plant industrial process takes hours out of the daily cycle and makes traceability immediate.
Throughout both phases, we worked in close collaboration with the Bunge IT team. The priority was never speed for its own sake. It was keeping production stable while the system quietly transformed underneath.
Internal feedback from Bunge confirmed a clear improvement in stability, usability, and reliability of the system.
A legacy system that matters to the business rarely needs to be thrown away. It needs to be diagnosed honestly and rebuilt in place, piece by piece, with tests as the net that makes every move safe. That discipline is what made the difference on Bunge: every fix was incremental, every refactor was framed by a test, and nothing critical was ever put at risk to "move faster".
The project also made something clear about Permit to Work as a domain. It sits at the intersection of safety, compliance, and daily operations, which means small design decisions (who approves, how quickly, from where) have outsized consequences on the business. Getting that interaction model right is where most of the value is created.