How Vitamin partnered with IFPRI to scale an Investment Analyser that reached critical mass

 

A case study coauthored by:
Emma Ungureanu, Adrian Popa and Andrei Ismail.

The International Food Policy Research Institute (IFPRI) is a global organisation that provides research-based solutions to sustainably reduce poverty, hunger, and malnutrition in developing countries.

IFPRI developed the Agricultural Investment for Development Analyzer (AIDA) – an innovative tool that helps governments and analysts design agricultural investment plans. AIDA can assess the impacts of potential agriculture sector investments on national economic growth, job creation, and food security.

 
Photography by Samson
 
 

Vitamin Software scaled AIDA from its initial deployment in Egypt to a number of additional countries, and provided a replicable process to continue tool expansion. This enabled IFPRI to grow AIDA from a Minimum Viable Product (MVP) to a platform much closer to Product-Market Fit, and has generated follow-up interest from stakeholders to further invest in the tool.

 

About IFPRI’s AIDA

The Consultative Group for International Agricultural Research (CGIAR) is one of the many global partnerships that work for a better future by using science and innovation to transform the way we manage food, land, and water amid a climate crisis. IFPRI is one of CGIAR’s 15 constituent independent research institutes. IFPRI generates high-quality research results that are the basis for policies that aim to sustainably reduce poverty and end hunger and malnutrition at national, regional, and global levels.

To help governments in Africa and the Middle East plan more efficient agricultural investments, IFPRI built the Agricultural Investment for Development Analyzer (AIDA) in partnership with the International Fund for Agricultural Development (IFAD).

AIDA is an online tool that uses data to show decision makers the link between investments, economic growth, and social outcomes. By revealing the impact of potential investments, AIDA helps governments know where to invest, which crops to invest in, and what interventions to prioritise.

“AIDA is innovative and easy to use — government officials, analysts, researchers, and investors design a package of investments and AIDA reports how the choices affect a country’s economy and population.”

aida-egypt.ifpri.org

 

IFPRI’s challenge with AIDA

Unsurprisingly, the first AIDA website proved its potential by facilitating the evaluation of rural development projects in Egypt. Such a capability was recognised as a necessity for other countries as well. As a result, IFPRI had to make the website available for three more countries in a short timeline: AIDA had to be replicated quickly without compromising quality or stability.

Scaling and iterating a custom application like AIDA meant that the technical vendor had to easily understand the context in which IFPRI operates, and possess the engineering ability to take over the codebase. The technical vendor would also need to ensure that the work of the software engineering team aligned with the expectations of the IFPRI data scientists and economists working on the AIDA project.

 

Why IFPRI chose Vitamin Software

Vitamin Software has had a fruitful relationship with IFPRI for several years, through the development of DREAMpy – an open source, user-friendly software for evaluating the economic impacts of agricultural research and development projects – and through a redesign of the Food Security Portal.

But our good reputation was not the primary reason why IFPRI assigned this essential project to us. Rather, it was our ability to reverse-engineer products to understand how they work and how they can be made better.

Vitamin Software has built, rebuilt, and scaled many types of products for a variety of customers from different domains. We have experience working with the most popular and more eccentric technologies and engineering practices on the market. This broad experience means we can quickly figure out how existing software has been built – and most importantly, how it can be improved.

Moreover, Vitamin Software has also successfully collaborated with other data science teams from organisations like Fraym and Nithio. This was an important differentiator: IFPRI needed someone that could communicate smoothly with data scientists and economists, to ensure that the tool would make the most of its data.

Vitamin Software can take a product and understand how it works; improve and nurture the product until it reaches maturity; and transition the product back over to the customer.

These considerations convinced IFPRI we would be able to bring AIDA from an MVP to its Product-Market Fit.

 

Aid for AIDA

To keep the momentum of AIDA Egypt and ensure a broader adoption of the tool, IFPRI needed to move fast. Vitamin Software’s role was to make AIDA easily replicable and build three additional websites in a short period of time.

But first things first – to deliver what IFPRI needed, we had to understand the software from a product perspective. Using our extensive experience with product development, we tackled the problem from two sides.

From one side, our Project Manager learned from the IFPRI AIDA team the social, political, and economical context for which the tool was developed. From the other side, our engineers “unwrapped” the tool and got familiar with the technologies and infrastructure behind it. Understanding the product meant that we were able to make micro-decisions independently, thus speeding up the process to IFPRI’s benefit.

Our commitment to delivering results frequently and reliably combined with our comprehensive experience with Amazon Web Services (AWS) was the basis of AIDA’s transformation. We used a solid, cost-efficient technology stack to help IFPRI achieve their goals.

  • The application infrastructure is hosted in Amazon Web Services. AWS CloudFormation is used to administer the AWS infrastructure, allowing for easy management and provisioning of AWS resources;

  • The back-end of the application is deployed in an Amazon Elastic Container Service (ECS) cluster, and the application data is hosted in Amazon S3;

  • Data processing is done with the help of the Python libraries NumPy and Pandas, which are useful for complex numerical computing and data analysis. Data is then made available to users via a Flask application;

  • DNS entries, including all country-specific subdomains, are hosted in Amazon Route 53;

  • Static files for the web application are also hosted in S3 buckets. Amazon Cloudfront is used for improving app response time, reliability, and availability. This is especially important since the app might be accessed from areas with unreliable or low-bandwidth internet connections;

  • A separate staging environment is available for change-testing and review before pushing code to production. Both the staging and production environments use the Circle-CI CI/CD pipeline to make updates;

  • The application front-end is built with the React JavaScript framework and it uses a Circle-CI CI/CD pipeline to publish files to the S3 buckets. Special attention was paid on the front-end side to enabling multi-country and multi-language support.

 
 

AIDA’s multi-language support riddles

One of the most interesting challenges was ensuring that the tool behaves correctly in a multi-country and multi-language context. From the start, the plan was to expand AIDA to three additional countries. Therefore, we had to find the simplest way for country-specific content to be supported on each dedicated website without impacting the tool functionality.

Although AIDA is funded and used by international organisations, local governments and investors are also a target audience, so content needed to be available both in English and in Arabic. Making both left-to-right (LTR) and right-to-left (RTL) text work on a web page was an important puzzle that we’ve successfully resolved.

Another challenge was handling different types of data. AIDA displays a variety of charts that need to work correctly with both very small and very large numerical values. Our solution was to devise test cases that covered a wide range of data “edge cases”, to make sure no scenario fell through the cracks.

The last critical requirement was for Vitamin Software to build a product development workflow that could be easily operated by the IFPRI support team. We split operational and DevOps tasks into manageable pieces, set up configuration files, and wrote procedures for the IFPRI AIDA team to follow in order to make modifications, test changes, and automatically deploy into production. We trained the team to follow these steps so that they could change content or create new websites with minimal assistance from Vitamin.

 

Vitamin Software’s not-so-secret advantage

We have IFPRI’s trust because we are a skilled and professional team. This played a big role in being selected as their partner for AIDA, and we pride ourselves on our engineering and project management skills that allow us to reverse-engineer anything and make it better. But we’ve always felt that there is a special something that makes our customers really appreciate us.

We think that the Vitamin Engagement Model of building, operating, and maintaining products built with the help of our communication skills has been the key to our long term collaboration with IFPRI. Our clients benefit from high-bandwidth communication, meaning that we are always by their side – making an effort to listen, ask the right questions, and solve their real problems in a smart and efficient way.

 

You reap what you sow: results & benefits

By partnering with Vitamin Software, IFPRI was able to meet the requirements of the IFAD-IFPRI-CGIAR project through which AIDA was funded, and prove the usefulness of the tool to its stakeholders. The tool was officially launched during a public event at the end of February 2021 and was well received by the community, who expressed interest in expanding the tool to new countries and including additional indicators.

In more concrete terms, the results of our work translated into reinforced technologies and a more secure infrastructure. By reverse-engineering AIDA functionalities, we were able to find potential weak spots and remove them. As a result, the websites are stable and safe. The websites now also support necessary content: multi-country and multi-language support have been strengthened, and now properly support both right-to-left and left-to-right text.

But the most important outcome of our work was the simplified process for deployment of a country website. We took the initial process and made it more efficient, drastically decreasing the time it takes to create a new country replica of AIDA. And that’s not all – we applied our operational best practices to write clear documentation that the IFPRI team can use to deploy AIDA copies for new countries with minimal assistance from Vitamin.

 

Next Steps

The partnership between IFPRI and Vitamin Software is longstanding, and our skills continue to be at IFPRI’s service. Future plans include a maintenance service where we would keep the AIDA websites stable and secure by updating and upgrading the software components and fixing critical bugs, flaws, and defects in the software.

As AIDA has sparked stakeholder interest, there may be opportunities to further expand its scope to additional countries. Vitamin will be there to support IFPRI by using the procedure we’ve created to deploy AIDA replicas and continuously improve the tool. We also plan to help IFPRI add new indicators that explain investment impacts, and turn this into a replicable process.

 

About Vitamin Software

A product development agency, Vitamin Software specializes in taking over your product and supporting it until it achieves critical mass. The customer leads and we drive the product to follow.

Vitamin Software is an Amazon Web Services (AWS) Partner Network Select Consulting Partner, specializing in building, operating, and maintaining robust and secure products. We operate the production setup in a secure fashion, based on our AWS Competency.

Vitamin Software builds bridges: From problem to solution, from difficult to feasible, from impossible to outstanding.

Want to know how?