AfSIS: Google Summer of Code Ideas

Welcome! After our successful participation in Google Summer of Code (GSoC) in 2015, we are very excited to apply again in 2016!

Below are some of the GSoC summer project ideas that we have come up with for the Africa Soil and Information Services (AfSIS) project.

The purpose of AfSIS is to rapidly expand the effective use of scientific information to ensure that Africa’s soil and landscape resources are described, understood and used effectively to help raise agricultural productivity and lower ecological footprints, and in so doing increase the prosperity of Africa’s communities and nations.

Our GSoC ideas are listed here because QED is contracted with AfSIS to help direct, design, and efficiently implement software needed to realize these ambitious goals, and participating students will receive mentorship from QED technical staff and AfSIS scientists.

AfSIS faces a wide variety of genuinely exciting and unique technical challenges that will afford very interesting work opportunities to participating students, while also allowing them to develop software for a positive cause.

Information for Applicants

It is most critical for us to learn more details about your core technical skills, background, and previously deployed projects. The projects we have listed below are “fresh” projects,  and we would certainly be happy to hear more about your thoughts for attacking them. However, there are also potentially other projects we could suggest for students to work on, if their background is a good fit. If you are interested in working on AfSIS projects, please send an email to

google AT qed.ai
with a subject line of “[GSOC16] First Name, Last Name”, and it will be received by potential mentors. Your email should include both your CV and the following information:

  • github repository
  • listing of all programming languages known, with number of years of experience in each
  • within each programming language, listing of special packages or modules known, with number of years of experience in each (e.g., OpenCV, GDAL, GSL, Django)
  • listing of all database technologies known, with number of years of experience in each
  • degree(s) being pursued, university, current GPA, and listing of relevant classes
  • +competition experiences: awards from hackathons, programming contests (e.g., Kaggle, KDD, IPO, TopCoder, Hackerrank, GCJ), or mathematics contests (e.g., USAMO, IMO, Putnam)
  • any thoughts you might have on the projects we have proposed below
  • bonus skill sets we are looking for — very helpful but not required
    • GIS and web visualization: Leaflet, OpenLayers, GeoServer, TileMill, GeoTrellis, MapBox
    • mobile app development: Android, iOS, PhoneGap — provide links to apps that have been deployed in the Play Store or App Store
    • general web application development: +Django, Javascript, CSS3, HTML5, Tastypie, etc.
    • machine learning: R, scikit-learn and Pandas, KNIME, VW, Spark, etc.
    • crowdsourcing: Mechanical Turk, CrowdFlower, SamaSource
    • computer vision experience using OpenCV

We will absolutely NOT consider any applicants that are not fluent with developing under version control, working in a UNIX-based environment, or are only familiar with proprietary technologies such as the .NET framework, ColdFusion, IDL, Envi, ArcGIS, Tableau, Mathematica, MATLAB, etc.

Please understand that due to the very large number of inquiries that we have been receiving since being recently selected on March 2nd, it may not be possible for us to respond individually to each. However, we will be reading your submissions, so that we can decide on a limited subset of students to engage with for further discussions and technical interviews.

Open-Source GPU UAV Processing 

Explanation: AfSIS has developed a variety of workflows for measuring and characterizing the soil resources of Africa, using soil chemistry, spectroscopy, remote sensing, and modern statistical methods. We have also been testing the use of UAV’s to increase the efficiency of our soil survey and landscape monitoring work, and to provide data support to field and landscape level agronomy applications. UAVs are helpful because the high-resolution and multispectral imagery that they produce can enable us to characterize crop types, erosion, and carbon storage. (Traditional satellite imagery from sources such as Google Maps and Bing lack the resolution in time and space to do this, can also be obstructed by weather elements such as cloud cover.) Therefore, AfSIS has developed expertise in both operating drones and feeding their imagery into other custom-built soil analysis products. (Please see http://qed.ai/uav-afsis for an example of a drone flight, filmed both from the third-person and using Google Glass.)

Most drone imagery today is post-processed using commercial software that is produced by makers of drone hardware, or well-known commercial imaging companies. We have developed a first version of open source drone image processing workflow based on another open source project: open drone map (http://opendronemap.github.io/odm/). The workflow does mosaic and orthorectification of images taken by various drones. However, this first version needs to be accelerated and calibrated with our own drone images, and applications. The highly parallelizable feature of  drone image processing makes GPU a good candidate for the acceleration. Therefore, we propose to integrate CUDA with our workflow to further optimize it.

Expected results: With guidance from mentors, and built on the first version of our drone analysis software, the work is expected to add GPU processing component, speed test framework, and possible integration with openCV modules.  Software should include basic Sphinx documentation.

Knowledge Prerequisites: Python, C++, UNIX, git

Crowd-sourced Agronomy Data Collection

Explanation: The efficacy of information about the soils of Africa is maximized when it can be coupled with:

  • up-to-date historical prices for crops
  • up-to-date historical prices for fertilizers
  • up-to-date historical yields and land areas for crops

This kind of agronomical information is currently being collected through mobile app campaigns run by various well-funded startups (e.g., Premise), but their geographical coverage is limited, the core data is paywalled or simply not available for purchase, and their efforts have not yet penetrated the countries that we work in. Consequently, we propose rolling out our own applications for collecting this kind of crucial agronomical data en masse. The open source nature of this project will also enable other countries around the world to more easily collect this crucial information.

Expected results: Android app, deployed to Google Play Store, enabling African users to efficiently collect agronomy data for crops and fertilizers, and have payment functionalities to be able to launch data collection campaigns. App should have systems like Open Data Kit to allow users to set up their own campaigns easily.

Knowledge Prerequisites: Android, Java, Python, UNIX, git. Experience with crowdsourcing is preferred.