RoR modernization for a food quality platform
Modernized infrastructure of a food quality management platform, stabilizing a legacy codebase while building a next-generation specification management system for quality reporting, compliance tracking, and product documentation.
Business context
Normec Foodcare specializes in quality assurance and food safety across the entire supply chain. The company provides end-to-end solutions in QA automation, lab testing, and regulatory compliance. Their work helps ensure that millions of consumers have access to safe, high-quality food every day.
Project in facts
- Foodtech
- Netherlands
- 3 Ruby on Rails developers, PM
- May 2024 - ongoing
- Ruby on Rails development, Dedicated team
- Ruby on Rails, Turbo, Stimulus, PostgreSQL, Redis
Challenge
Through the acquisition of QC-One, the client inherited a complex legacy system but lacked the in-house engineering capacity to evolve it. They turned to Rubyroid Labs to hire Ruby on Rails developers who could stabilize the codebase. It suffered from significant technical debt, outdated dependencies, and a lack of test coverage, resulting in frequent production bugs and high maintenance overhead.
In parallel with stabilizing this legacy infrastructure, the client needed to build a next-generation version of their quality reporting system, Specification Manager, to support inspectors and quality managers throughout the food safety workflow.
Product goals
- Centralize management of product specifications and quality documentation
- Enhance quality reporting system to drive efficient compliance and inspection workflows
Solutions
We kicked off our work by stabilizing and extending the quality management platform. Through ongoing support and bug fixes, our team sustained development velocity while preparing the system for larger functional upgrades and future scaling.
A major focus of the project was building Specification Manager, a new module for streamlined creation of product standards and quality reports.
In parallel, we delivered platform improvements aimed at reducing administrative overhead. This included introducing self-service user access management and continuously enhancing system functionality based on direct stakeholder feedback to meet changing operational needs.
Platform stabilization
Refactoring and bug fixing to eliminate technical debt and prepare the code for upgrades.
Specification Manager module
Next-generation version of the quality reporting system.
Administrative efficiency
Self-service user access management to minimize manual administrative overhead.
Engineering approach
Our engineers balanced ongoing product development with the modernization of a mature platform through Ruby on Rails development, complemented by PostgreSQL, Sidekiq, Redis, and Google Kubernetes Engine.
To improve long-term maintainability, we refactored legacy modules, expanded automated test coverage, and initiated a phased migration from Paperclip to Active Storage. Given the massive volume of stored documents and reports, this transition was executed incrementally to minimize operational risk and preserve backward compatibility.
To standardize frontend-backend communication, we introduced OpenAPI documentation. We also maintained an iterative development approach for all new functionality, including the Specification Manager module.
Business impact
Result
Rubyroid Labs helped Normec Foodcare strengthen and expand its quality management platform, reducing the operational risks associated with a legacy codebase.
-
Improved platform stability
Continuous refactoring and expanded automated test coverage created a safer foundation for ongoing development. -
Modernized document management infrastructure
The migration to Active Storage reduced reliance on deprecated technology and positioned the platform for long-term maintainability.
Need to stabilize legacy infrastructure?
Please fill out this form, and our manager will contact you within one business hour. If necessary, we can sign an NDA and begin project discussions.
Thank you.
Your message has been sent successfully!
We’ll get in touch with you within 24 hours, excepting requests received on Saturday, Sunday.