Development of Custom Software for a
Supply Chain Planning App
TARA Interactive developed a multi-agent system
which is managed by a web application. It aids
data analysts in creating algorithms modelled on
supply chain problems.
Vue.js & Bootstrap, Azure Kubernetes, Couchbase,
streaming data from SQL, NoSQL, CSV, JSON, Go
Python, R, C++, Tableau
Two entrepreneurs from California came with the idea of coming up with a solution to ensure optimization of the food supply chain and, at the same time, to provide a simple way for business people to model and solve key optimization challenges for multimillion-dollar savings. They defined the problem and worked building an MVP (minimum viable product, which can showcase the users the apps capabilities). However, due to the technology used being so new and the IT job market situation, they had difficulties in finding the right candidates in the US.
The team didn’t want to build a development team, being aware of the high costs that would entail, so they wanted to work with a custom software provider. They contacted an old partner from TARA to help them build a cost-effective software experts team extension.
TARA was chosen due to the experience of over 20 years in developing customer software for clients in Europe and the US. The client knew that TARA had worked on similar projects in the past and trusted the team’s input in developing the user experience and the backend solution.
The app uses combinatorial issues through a multi-agent system that is deployed in the cloud and managed via a web application. The team wants to create an algorithm to use resources more efficiently. The interface of the application has to be intuitive and easy to use, so that users can plan their supply chain needs and continue using the app.
Experts in the supply chain industry can model their problem and then receive solutions from an extensible algorithm library. Alternatively, these can be custom built by data scientists, should the library not contain an appropriate model. The user can then run benchmarks against historical data, simulate optimization results and put these into production.
The output of an optimization is often an execution plan: the list of truck journeys and loads, a sequence of blend instructions, and so on. Users can view the data within the web portal, pass the data to another app, or produce a polished report to share with anyone.
Given that the idea is still in its initial stages, there are new needs and directions that appear, rather than having a clear brief from the start. This has added layers of complexity to the architecture of the project and there was a need to harmonize the different areas of the software.
The app is a containerized application that runs on Microsoft Azure Kubernetes. Plus, it can also scale-up and scale-out for enterprise-class requirements. When clients want to manage their own cloud infrastructure, the app offers either a managed SaaS implementation or a private option. Meta-data and temporary storage are held in a Couchbase system on the Azure platform, and are connected to live (batch or streamed) data via SQL, NoSQL, CSV, JSON, etc.
TARA chose to work with VueJS/Bootstrap for the front-end implementation because it is flexible and scalable, and it can be used for huge, modular Single Page Apps (SPA). The platform is composed of many frontend applications which are brought together through the Single-spa framework.
For the authentication part, we used Okta as a Security Assertion Markup Language Single Sign-On (SAML SSO) solution provider for a secure and seamless experience. The way Okta works allows users to access multiple applications with trusted information and—by implementing single sign-on—to only log in once.
For the backend microservices, we used Go programming language due to the performance and security it provides. The Machine Learning algorithms are typically written in Python, R, or C++.
The micro-services and micro-frontends architecture and the technologies used enabled us to provide the clients with a rapid workflow for building and configuring the solution. This made it easy for each participant to add value, using their unique skills & knowledge, while moving from test to production in less than a month, with the necessary versioning and workflow built-in.
We have also helped build a library of optimization and machine learning algorithms, which can be added to by customers, partners, or through links to open source libraries. These can be deployed against different problems, and tested against each other for effectiveness, to keep processes improving, so they perform in the top percentile.
In order to make swift progress, we host weekly meetings with the start-up co-founder and the technical lead. The co-founder is meeting with potential new clients and investors at the time of writing this case study (February 2022), which brings new requirements that are then integrated in the weekly reviews we have together.
The project is developed following the Agile Scrum methodology using the latest technologies. This brings some challenges in finding and training the developers in these continuously changing technologies. The team must be up to date with the latest versions of the frameworks used and it must make sure that the security and performance required are addressed properly.
The requirements are coming from the investors and from the current and potential clients, therefore the Agile Scrum methodology was adopted to be able to adapt the development to address their needs. The new team members were coached by the older ones to smooth the learning curve of the platform, the ins and outs and all the gotchas of these latest technologies.
The development process takes place in 2 weeks sprints, so twice per month we present new updates to the client. Any changes taking place in the software are first deployed in TARA’s environment, then after thorough tests, moved to the client’s environment. Further, twice per week, TARA’s project team and the technical team meets to discuss developments, changes that may arise, unlocking blockages and planning the future steps.
The project has accomplished its objectives and has completed the next seed round for investment. The client feedback is very positive, both from the company who enlisted TARA’s help and their potential future clients.
The client team has successfully delivered tens of pitches to new clients, awareness for investors for the next funding round, including world-class consulting companies. Plus, the version of the app has helped the 2 founders raise subsequent investment that was important in its further development.
The internal team has learnt a lot from this project, given the complexity of the software and how new developments had to be integrated with older ones.