Engineering Spotlight: Indigo
Indigo is devoted to mobilizing nature to help farmers sustainably feed the planet. The company works alongside its growers to apply natural approaches, conserve resources for future generations, and grow healthy food.
Indigo’s mission is an admirable one, as there is a strong social mission. We connected with the company’s engineering team to learn a more about agriculture tech (or AgTech) and the details on the team’s culture, plus some of the cool projects they are working on. Read on below!
Also, Indigo is hiring! Check out its BIZZpage for all the company’s openings!
Quick Hit Details
Year Founded: 2013
Number of employees: 271
Number of engineers: 23
Can you share a brief summary of what Indigo does and how the company assists farmers?
Indigo’s mission to improve farmer profitability, environmental sustainability, and consumer health.
How does the technology team factor into the business model and mission of Indigo?
Indigo started with the idea that microbes could increase crop yields. As the science developed, and we started to think about how to go market, it became clear that farming is a really tough industry to be in. So rather than just sell seeds, we're looking to provide a platform that allows farmers to make more money off the hard work that they're already doing. At our core we're building a data platform to track and store as much information as possible about what's happening on farms, in our scientific research, and out in the market. We can then apply modern AI techniques and machine learning to find true insight from all of that data. Then on the front end, we're building out a series of apps to pass those insights back to the farmers and researchers that we're serving. If you think about the career of a farmer, they essentially have 40-50 chances across their lifetime to figure out how to maximize their farm’s performance. We can analyze data across thousands of farms in a single year and pass the insights we learn back to our customers. The end result will put money back in the farmers pocket and keep the harmful chemicals out of the food supply, therefore making it healthier in the process. Win-win!
What are some of the different technologies that the engineering team gets to work with and at what scale?
Indigo’s engineering team is unique in that we were formed 3 years into the company’s history and knew that we were tasked with building a platform that would need to sale with tons of data and rapid team growth. This allowed us to spend time setting up a solid architecture and with a strong bias towards scalability, tight contracts and automating everything that we can. Our platform is hosted entirely by AWS and our teams are entirely responsible for the lifecycle and uptime of their services.
Apps: All of our UIs (we have 4 currently) are built using React, Redux, and TypeScript and consume GraphQL APIs. Using TypeScript on the front end provides a lot of stability as the team is moving quickly and also allows us to consume typings generated from our GraphQL schema to keep type safety across the API boundary. In order to keep visual consistency across apps and promote reusability, we’ve worked closely with our UX team to build a design system and component library that each project consumes via a separate npm module.
Services: Our back end is fronted by a GraphQL API gateway that services all requests and proxies them off to individual microservices. The microservices all host a part of the overall GraphQL API and are either TypeScript or Python, depending on whether they’re data science services and are hosted as lambda functions or in Docker containers depending on whether they’ll have any long running requests. Each service has its own data store, which could be anything from Postgres to DynamoDB, whatever does the job.
Data Platform: The data platform is comprised of two main pieces: data ingestion and data analysis. Data ingestion is currently atomic and the team has selected an event-driven serverless approach. As new data comes in, we fire off events in AWS that notify the rest of the system of data's arrival and availability into the system. On the data analysis side of our platform, our data set continues to grow as we add data from a variety of sources (e.g. satellite, drone, and sensor data). This requires horizontally scalable solutions, but does not prescribe a specific technology - currently using Athena, but could use Spark, DynamoDB, etc... if the use case should arise. Individual services can then interface with the Data Platform by listening for and handling the events coming off of the stream.
What are some of the interesting projects that the engineering team is tackling?
There is no shortage of interesting projects or big sky ideas at Indigo. A lot of these projects are being developed in-house from scratch, but we’re also looking across the industry to find the best technologies that we can package together to collect more data and improve farm insight. This means investigating the latest in drone, satellite, and sensor technologies. Internally our biggest project right now is sending a text message. The messaging part is easy, it’s what’s in the message that makes this project so challenging. We’re building an end to end platform that will pull data from thousands of farms and devices on those farms, analyze the data using machine learning, make recommendations from those models and then send the insight that we generate from those models directly to the farmer via text messages. We’re also working on projects to disrupt the way crops are distributed, how research is performed and how farmers are marketed to sell to.
Does your engineering team have a chance to work on projects outside of their day-to-day responsibilities? For example - skunk work projects, open source projects, etc.?
We started developing our platform six months ago, so we’re still in the phase where everything is new and feels like a skunkworks project. That being said, we're big believers that some of the best ideas come from an engineer (or small group) hacking on something that's not on a backlog. We've been doing hack nights every other week where the team will switch gears towards the end of the day to work on our own projects over pizza and beers. A few of the things that we're currently working on are:
Getting some dashboards set up and put up on a monitor in engineering so that we can see data streaming through our system in real time
Building up infrastructure to easily create Slack bots that have access to our APIs and events flowing through our event stream
We're also planning out our first Hackathon in Q2 where we'll shut down engineering for a day, break into teams and see what we can come up with.
Our team is a huge fan of open source and many of the DEVs participate in open source projects. We have a few ideas of things we've built at Indigo that we're going to open source - mainly around GraphQLs usage with TypeScript and microservices.
What is the culture like at Indigo for the engineering team?
Indigo as a company has a culture that: operates with a sense of purpose, fosters innovation and being impact-driven, is transparent and inclusive across functions and levels, as well as is committed to the health and wellness of its employees. Our engineering team sits together in an open area, which is great for real-time collaboration, tackling problems face2face and has developed into a team that knows what makes each other tick. In addition to quarterly social events, the group is known to dim the lights, crack open a drink, and just hang. Hack Nights are a new addition to the ways in which we work. Sessions are used to address current project obstacles or to bang out whatever needs working on – beers and pizza are ever present.
What can a potential employee expect during the interview process?
Indigo’s interviews are broken into two parts. We conduct a long interview which is usually 1.5 to 3 hours in length. In this interview, the Indigo team will thoroughly walk through your academic, work and life experiences to better understand your strengths, weaknesses and future goals. Our other interviews are focused interviews. These will dig deeper into certain aspects of your work history and skills which typically last between 30-45 minutes. Depending on the position applied for, a candidate will meet with 5-6 people.
Are you involved in any local tech organizations or Meetups?
We are getting involved in Meetups this quarter! We will be hosting groups as well as sending our own to Meetups as guest speakers.
Rapid Fire Q&A
What’s on tap?
New England IPAs - we have some beers snobs that are huge fans of local breweries like Night Shift, Lamplighter and Trillium.
Star Wars or Star Trek?
iPhone or Android?
Mostly iPhone with a few passionate Android folks.
Coffee - hot or iced?
Cold brew! (although the Nespresso machines have been clutch this winter)
Favorite employee perk?
It’s a toss-up between catered lunch three days a week and having both a gym in the office as well a company-paid membership boot camp/yoga gym next to the office.
What TV show describes the engineering team’s culture?
The Bachelor – after all, we’re all at Indigo for the right reasons. Seriously though, we recently realized a bunch of us watch that show.
What music is playing in your office?
We’re mostly a headphones bunch, but on occasion, someone will step up as guest DJ to play their favorite tunes for everyone. Our tastes are pretty varied.
Dan Caddigan, Software Architect
“I grew up just outside of Boston and studied Computer Science at Cornell University. Ever since I've been working at tech startups in the Boston area and run a small wine company located in California in my spare time. I was drawn to Indigo because it has a great mission – making the food supply healthier while making farmers more money. Additionally, the ag-tech industry has so many opportunities to be improved via technology and Indigo has the resources and team to make it happen.”
Vinay Mandal, Data Engineer
“One of the biggest factors that drew me to Indigo was the opportunity to be the part of a team that is changing the way we think and produces food in a sustainable way. I have always strived for my work to have a meaningful and positive impact on society and this has led me to work in fields like computational genomics for optimized plant breeding or Precision AgTech in my previous ventures. Indigo Ag seems like a natural continuation of this personal trend.”
Images courtesy of Indigo.