Please, change device orientation to portrait

Case Study | Software | Agriculture

Back-end Web Application Analyzes Satellite Imagery for Data Prediction

Our client develops data driven technologies that help farmers run efficient operations to produce more food. The company—servicing millions of acres worldwide—uses innovative digital agronomic tools to focus on the sustainable production of high-yield, high-quality crops. The solutions are designed to optimize inputs, minimize environmental impact, and protect the farm’s economic viability.

Business Challenge

The client used several third-party apps to process and analyze satellite images. For cost-savings purposes, the client decided to develop its own app—improving and customizing the functional features used by the third-party apps. Also, the client wanted to determine if it was possible to process more images without losing the quality of information.

Project Description

The client collaborated with SoftServe to develop the back-end part of the web application. Its main goal was to analyze the satellite images’ data for predictions, crop type classification, nutrient modelling, etc. through yield layer visualization. The product would be used for gathering, searching, processing, and filtrating satellite images. The imagery is queried and downloaded via an API specific to the source. The meta information is stored on Elasticsearch and the binary data is stored on Azure cloud. The product communicates with the other FE apps via API.

The end users are farmers—our clients' customers. They can access the information after logging into one of the FE internal tools.

The SoftServe Scrum team, which was responsible for the back-end and Devops parts that enabled the communication between all modules of the app, worked with two other vendors. One vendor was responsible for the module adaptation of the imageries analytical library enabling the processing of specific imageries, and the other was responsible for setting up a process cluster on Spark.

The SoftServe team consisted of a project manager (PM), big data architect, technical business analyst (BA), development team (tech lead, and two python developers, later a Scala developer was added) quality control (QC) engineer, and a DevOps team (architect, later two DevOps engineers).

The requirements—business and partially technical—were defined and prioritized by the PO and shared with the BA and team. The BA and team worked together to clarify the requirements and fine-tune the release plan.

Updates were communicated via a daily status and the PO was contacted directly to address issues or clarify requirements.

Technology Stack

Python 3.5 Jenkins Confluence Docker
Scala PyLint PostGIS Kafka
GeoTrellis PyTest Azure Table Storage GeoServer
Spark Streaming GitHub Elasticsearch Jira
PyCharm ATQC/Devs Azure
Git Prometheus Grafana Kubernetes

Value Delivered

The SoftServe team collaborated with the other two vendors to deliver an application—built from scratch—for FE specific purposes and needs. The app:

  • Optimized the entire process.
  • Enabled a wide list of available images to end-users.
  • Created a flexible environment to react to business needs and quickly process the required images.
  • Improved security.
  • Created additional apps needed to track and monitor market coverage and manage new clients.

With the new app, there was no longer a need to share valuable information with third party apps. Cost optimizations were also realized as the client no longer needed to invest in other external apps. Additionally, process optimization included zoning enhancements and optimization for operational capacity.