ror dev golang dev contact us
Normec Foodcare Company

Upgrading & Expanding a Food Quality Platform

  • dedicated team
  • RoR development
Normec Foodcare screen
about

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.

duration

may 2024 - ongoing

location

Netherlands

industry

foodcare

team
  • 3 full-stack developers
results
  • 2 weeks

    to assemble the team

  • 1 month

    to fix critical bugs

  • 2 months

    to initiate file storage migration

  • 1 year

    to eliminate major tech debt and launch a new product

challenge

lack of in-house technical resources

After acquiring QC-One and its software, Normec faced a challenge: they needed full control over the codebase but lacked internal development capacity. Finding skilled developers locally proved difficult, prompting the company to look for a reliable external partner to scale their tech team.

legacy code and technical debt

The existing system came with a substantial amount of technical debt. Our team had to deal with legacy code, fix critical bugs, write missing tests, and gradually refactor parts of the system.

developing a new quality reporting system from scratch

We were tasked with building a new, improved version of the company’s product quality reporting system – Specification Manager. This tool helps inspectors and quality managers maintain high industry standards across the entire supply chain. The first version of the system was released in April and continues to be actively improved.

transition to modern infrastructure

Migrating legacy components (file management from Paperclip to Active Storage) required careful planning and incremental steps to avoid breaking existing functionality.

solution

eliminate legacy technical debt

Our backend team focused on stabilizing the system by addressing the most critical legacy issues. This included writing missing tests, fixing persistent bugs, and refactoring outdated parts of the codebase to support further development.

migrate to modern file storage

To modernize the infrastructure, we initiated and partially completed the migration from the deprecated Paperclip library to Active Storage. This ensures better scalability and long-term maintainability of the system.

develop the specification manager from scratch

We engineered the new Specification Manager tool, a key system component for generating food safety reports, from the ground up. Our team handled backend development and delivered an alpha version despite evolving requirements and shifting priorities

implement long-requested SEATS functionality

SEATS, a long-awaited feature that had been in the backlog for several years, was successfully delivered to production. It replaced the outdated manual onboarding process with a more scalable and self-service model. Now, instead of setting up each employee account manually, customers can simply purchase a set number of seats and assign access on their own.

extend test coverage

To make the platform more robust and future-proof, we increased test coverage by introducing automated tests across key modules. This allowed us to catch regressions early and improve development confidence.

support evolving business logic

Our team provided ongoing support for updates to existing functionality and adjustments driven by new business needs. We remained flexible in responding to changing requirements, even when they were introduced mid-sprint.

introduce interactive API documentation

To improve communication between frontend and backend teams, we integrated OpenAPI Swagger documentation. This step clarified request and response structures, accelerated development, and helped avoid miscommunication in interface implementation.

delivered features

  • refactored legacy codebase
  • migrated to Active Storage
  • alpha version of Specification Manager
  • SEATS feature delivered to production
  • improved business logic
  • increased test coverage
  • OpenAPI Swagger documentation
  • enhanced system stability
  • ongoing support and optimization

technology stack

backend icon
Backend
Ruby Ruby on Rails PostgreSQL Sidekiq Redis Docker Kubernetes Turbo Stimulus
frontend icon
Frontend
React React Native
infrastructure icon
Infrastructure & DevOps
Google Cloud Platform Google Kubernetes
Engine
GitHub Actions ArgoCD Google Cloud Console

communication

We followed the SCRUM framework and ensured regular, structured communication with the client and within the team. Daily stand-ups, sprint planning, demos, and retrospectives were conducted via Microsoft Teams. Slack was used for quick questions, async updates, and team chats. Jira and Confluence helped us manage tasks and document progress effectively.

Tools
  • Jira icon
  • Confluence icon
  • Google Sheets icon
  • Redmine icon
  • GitHub icon
  • GitHub icon
  • GitHub icon
  • Sentry icon
  • ArgoCD icon
  • Kubectl icon
  • Google Cloud Console icon

result

We helped the client strengthen their internal tech capacity by closing the developer gap and taking full ownership of the Portal side of the product. Over the course of our collaboration, we reduced technical debt, stabilized the legacy system, and implemented a new subproduct from scratch, which has already been successfully released in production and is being actively improved based on user feedback.

estimate your project

Roland  Masiazhyn, Business Development Manager

Roland Masiazhyn Business Development Manager

Rating of Rubyroid Labs 5.0
based on reviews of customers