Result
Custom back-office application improves flavor manufacturer’s operations
Manufacturers operate in a highly competitive and dynamic industry.
Overview
It is imperative for these companies to have integrated technology solutions that optimize efficiency, reduce costs, and increase sales and profitability by enabling them to make accurate, informed, and strategic decisions.
Their software platform needs to integrate all aspects of their business (resources, operations, monitoring, reporting, sales, accounting, and finance), as well as empower end users to make smarter decisions with the right information at their fingertips.
OneSix’s client, a flavor manufacturer, needed to update their back-office application to better support the company’s growth and business goals. The application was custom-built to manage the company’s end-to-end operations, including raw material procurement, inventory, manufacturing, purchase orders, shipping, and new product development. The existing system was becoming obsolete, causing several issues for the organization.
Our solution
The company’s goal was to create a highly customizable platform to address each of these challenges; one that could be built upon over time as their specific needs evolved.
As part of OneSix’s goals-first approach, we identified a set of key end-users per department who utilized the system heavily to understand their specific pain points.
- Too many disparate systems, including the need to rely on Google calendar to manage production.
- Searching and filtering flavors, materials, and orders was difficult.
- No linking of related formulations resulted in hard-to-find data, as well as unused formulations.
- Too many clicks to get work done/unintuitive UI flow, specifically around integration with third-party systems.
- Clients/Contacts are managed in many different places with duplication of data.
- Recurring paper-based calculations for standard formulas as well as inventory rounding issues.
- Text fields used for comments or notes were not developed in a way that the data could be efficiently utilized.
AGILE-DEVELOPMENT APPROACH
OneSix’s core goals align with the benefits of agile development*. However, we utilize a modified version of the approach.
*The principles of agile development: https://www.agilealliance.org/agile101/12-principles-behind-the-agile-manifesto/
Pure agile delivery focuses on iterating on software based on the team’s velocity and feedback loops while adjusting scope, and timeline to match. The challenge in delivering project-based consulting work, is that delivery time and budgets matter. Our approach strikes a balance between feedback loops and budget constraints.
For this client, we were replacing an entire system, where the minimum viable product was the whole system. Products could not be shipped if inventory, purchase orders, and manufacturing components were not completely functional. We delivered each component iteratively, getting continuous feedback from the client. However, did not go live until all the pieces of the system were built and worked together harmoniously.
We reviewed a list of third-party Manufacturing ERP providers but quickly realized that our client’s needs were too specific to fit into one of the existing platforms without a lot of compromises. A lot of the off-the-shelf systems had dated UIs, were overly complex for their specific needs, and initial setup cost and yearly maintenance costs were not significantly cheaper than a custom solution.
We ultimately decided re-building the system from scratch, using some of the existing concepts, and updating and iterating on them was the right approach.
Microsoft Azure
Architecture
It is important that any application we build for our clients seamlessly integrate into their current IT infrastructure. In this case, the client was already using Office 365, Azure Active Directory, and Azure for some reporting applications. We decided to go with Azure App Services, Azure SQL Server, and Azure Blob/File Storage in our architecture.
Integrating with Azure Active Directory also helped move the client to a single sign-on implementation.
File Sync
The client uses an on-premises networked file server to store and access supporting documentation for their formulations. Some of these documents needed to be exposed on the new platform. We used Azure File Sync to keep Azure File Storage in sync with the networked drive. We also built various caches to ensure that the files were retrieved at a reasonable speed.
File Sync Architecture
AgGrid
Table System
The system was heavy in using tabular data to represent information. We knew we needed a robust table system that allowed us to sort, filter and edit large amounts of data. AgGrid, which we have used extensively, is the industry leader in this area. It allowed us to have paging, sorting, filtering, editing, and lazy loading out of the box. It also allowed us to create custom cells where we wanted to highlight data or allow for more complex user interactions.
Angular
Menu System – Custom
Since the application contained many grids with a lot of columns, we built the UI surrounding the grids to be minimal to save horizontal screen real estate. Some examples of this are:
The left menu system collapses when not in use.
Tabular grids with many columns stretch horizontally for larger screens but have a minimum width that forces the user to scroll if the screen is too small.
Grids are styled to be readable, with alternate row highlighting, color coding to highlight important information, links to relevant information, etc.
Grids have master-detail sections so users can drill down to see relevant information.
Custom Solutions
Our client uses liquid and powder raw materials in their production process. These are often used in various units (pounds, grams, gallons, etc.) depending on their application. One of the issues they had was that, due to unit conversion, minute quantities were being left in inventory. For example, the user wanted to work with 10.45 pounds but 10.4523 was created to be used and in stock.
We solved this by:
Keeping track of the actual need for raw material in 10+ decimal places in the backend, while continuing to expose the user to a more reasonable and usable 2 decimal places in the front end.
Allowing the user to mark a lot as “done” in various places in the UI if they found inventory lots with a negligible inventory.
The client wanted to improve the quality of their formulations metadata. To do this, we worked with the client to analyze what metadata was created at different parts of the formulation process and added various required fields and other validation requirements so that users could not proceed until all the data was filled out. For example:
Formulations need to have certain characteristics entered when being added to the system, and additional details entered before it could be sold.
Existing formulations with missing information must be completely filled out if a user wants to edit them.
Red warning labels show up at various places in the UI to indicate an “incomplete formulation” is being worked on.
Results
“The entire company is now accessing data and making strategic decisions in one unified platform that has streamlined their daily operations”
“Team members are now able to work efficiently using the application, saving time and money for the company”
“Improved customer service levels with accurate information accessible in one place”
“Ability to easily see what flavor profiles have been selling well and make recommendations based on timely data, helping earn new customers more frequently and grow the business”
Discover how we’ve helped our customers build Modern Data Organizations.
Pharmaceutical
Global pharmaceutical manufacturer launches next-gen clinical testing solution
Application modernization
Software
Mid-sized software products company replaces unreliable internal application
Application modernization
Healthcare
Healthcare nonprofit launches comprehensive web application
Application modernization
Transform your data org
Schedule a free consultation with the team.