Marc Paré
RVIT Co.

MicaSense

Transforming a drone startup's image processing pipeline

MicaSense builds a unique sensing platform for drones: an all-in-one multispectral camera for advanced imaging applications like monitoring crop health. The data offers unparalleled insight at a cost affordable to nearly anyone.

They brought me on at a key point in their growth. They were about to flip the switch on order fullfillment, and they needed to make sure they could handle the great volume of data from these new users.

I worked directly with their VP of Technology, taking the lead on a number of user interface projects to make this happen.

One of their biggest bottlenecks was an error-prone process of acquiring and processing customer data. I addressed this by greatly improving the internal tools for managing image processing jobs. I also built a desktop app for customers to upload large sets images. Finally, I supported design contractors with difficult Javascript implementation for the customer portal.

By the end of my engagement, the workflow had completely transformed. What was previously a high-touch process from the team's leadership could be delegated to a few interns. This has enabled terabytes of map data to provide crucial insight to farmers and researchers around the world.

ToolsJavascriptAngularJSnw.jsLeafletPython

Image Set Management

Customer data often needed to be tweaked and inspected for errors. This AngularJS app made this process easy. It was an interesting performance challenge to render thousands of markers on Leaflet maps through Angular.

In-Browser Image Processing and Annotation

I built a number of in-browser image processing implementations to quickly validate results from outputs of the MicaSense backend. A highlight of this effort was porting the lens distortion transformation from OpenCV to Javascript.

Farm and Field Management

Drawing tools built on top of Leaflet to manage customer metadata. This would serve as the reference implementation for the customer user interface.

Customer User Interface

Design contractors built out most of this with my help on the tricky parts, such as the workflow for users to draw field boundaries.

Desktop Uploader

HTML5 APIs proved inadequate for the requirements of uploading customer images, so I built a cross-platform uploader with nw.js. The uploader was built to be resilient to flakey network connections. The app was used by dozens of customers during initial rollout without issue and is still in use today.