Building a winner at TechCrunch Disrupt

Disrupt is a 20 hour hackathon that took place this September in San Francisco. This post describes an unusual hardware/software project and how it managed to win a handful of prizes.

Inside Disrupt

The dream

For the past year, I'd been doing a lot of high-altitude balloon projects, even sending a potato to 100,000 ft via Kickstarter. I was looking for a way to parlay high-altitude imaging into social good, with an idea on the backburner for balloons to monitor crop health and water in infrared.

Near-infrared imaging spots plants made unhealthy by irrigation problems and other causes, which is particularly topical here in California due to drought. Well-watered photosynthesizing plants scatter solar radiation in near-infrared.

After some debate, I convinced a few friends it was worth building. We called it Harvest, a toolkit that helps farmers understand plant health and spot water waste using infrared aerial photography.

In less than 20 hours, we built:

  1. a cheap infrared imaging device,

  2. processing software that takes infrared and runs NDVI analysis, which indicates whether plants are healthy.

  3. an interface to tie it all together.

Harvest NDVI

Harvest's Normalized Difference Vegetation Index (NDVI) view.

Preparation

The project sounds complex but was very doable after breaking it into parts. The most difficult part was that we needed to finish the hardware and collect images within the first ~6 hours before sundown.

I had ordered a balloon, rope, etc. beforehand, as well as a cheap Canon point-and-shoot from eBay and a replacement "infrablue" filter, which shifts infrared light into the red part of the spectrum, so the camera records it. The total cost of all this was $12 for a used camera, $10 for the filter, $10 for a small weather balloon (on sale), and $10 for 500 ft of rope, for a total of ~$42.

It was a pain to find helium in SF but we managed to get 55 cu ft, more than enough (thanks SF Party).

I flashed the camera with special firmware called the Canon Hack Development Kit and put a Lua script on it that adjusted the focus, flash, and most importantly, took a picture every 10 seconds.

The field test

We went to a nearby park and got to work. Though it wasn't a farm, we figured there'd be enough grass/trees/pavement to show variation in watering and plant happiness.

Everything was secured with rubber bands and tape and we filled up the balloon.

It was a 5ft, 150g weather balloon.

The camera was just put in a cardboard box with a hole.

Serious cardboard cutting.

Tying off a weather balloon is always pretty scary. We managed to not have everything fly away by accident.

After being secured to a rope, the balloon was tethered to the ground. The payload flew smoothly, balanced by the downward-facing camera.

Field test balloon in flight

Field test in progress over Dogpatch, SF.

We didn't fly it to the full 500 feet because the balloon was underinflated and we were worried about power lines. It would've been too annoying to undo the seal and fill up the balloon more.

The software

Now that we had a bunch of near-infrared images of a nearby park, we had to process them. NDVI processing is a well-known technique, for every pixel:

NDVI = ((IR - R)/(IR + R))
IR = pixel values from the infrared band
R = pixel values from the red band

PublicLab is an excellent resource for DIY-NDVI projects and provided a lot of the knowledge and inspiration necessary to complete this. They have code, pre-made kits, and a great community around aerial observation and data collection.

I used the Python Imaging Library (PIL) to do this, scaled the coloring to best fit our field test data, and built a pipeline that converted all images.

The frontend then displayed these images nicely:

Infrared and processed NDVI imagery.

Our frontend whiz also did this awesome slider view.

And we incorporated satellite imagery from LandSat.

The pitch

It helps to start your pitch early, practice pitching to strangers, and build a good landing page. These were all done by ~10pm the first day.

These needs were compounded by the fact that Disrupt is only 20 hours and everything was judged solely on 1 minute presentations with no Q&A. This was a bit surprising - I think science-fair style judging like at LAUNCH or YC Hacks does a better job of fully evaluating a hack.

I worried the balloon was too much of a gimmick. It was just a demo; the meat of the project is not balloon-related at all and I wanted people to realize that. Our device could go on an airplane, drone, or even a very long pole!

Overall, the pitch basically went fine. There is only so much you can say/do/screw up in 60 seconds.

The outcome

We won prizes from CircleCI, Weather Underground, and PCH. We were 3rd overall, so we got to return later that week and present to the conference as hackathon winners. All in all, I felt silly carrying around a red balloon all weekend but it was totally worth it to see the idea come to fruition and achieve recognition.

With the CircleCI team, who singlehandedly restored my faith in CI.

The future of Harvest

I feel Q&A would've helped this hack shine more, plus maybe a modified pitch. The only feedback we got from judges was that it was an interesting idea, not a ready-made business. Which makes me think the goal of the Disrupt Hackathon could be better clarified.

Agricultural crop loss is a huge problem measured in billions of dollars. Existing businesses do thermal and infrared imaging via airplane, drone, and satellite at anywhere between 100-10,000x the cost. Every farmer we spoke with at the local market said they were interested in the product, so I think there's a potentially sizable market for a cheap infrared imaging solution that requires no training.

Irrigation problems in a field.

Some interesting takeaways from surveying farmers:

  1. Agriculture is not technologically backwards by any stretch. One farmer said infrared imaging tech sounds like it's far away, but he would've said the same thing about GPS 10 years ago. Now he can't imagine planting without GPS. Farmers are eager to adopt technology where it helps.

  2. Farmers constantly worry about their crops. One described how she compulsively checks the few statistics she has. She would love to be able to do more electronic monitoring.

  3. Watering is the most important knowledge in agriculture. This makes sense but you don't get it until you talk to farmers. Different plants like to be watered in different ways. These systems leak and fail in different ways, and catching a variety of problems is hard. One farmer remarked that we would've caught a recent pump problem, which would've been huge.

Hackathon tips

Hackathons are great but can be overwhelming. Here are some thoughts:

  1. Pitch strangers early. People at unrelated sponsor booths are usually willing to listen.

  2. Optimize for demos. For a 20 hour event, you need to be realistic about cutting corners. This means terrible code is sometimes ok.

  3. Sleep a lot. Powering through the night is unhealthy and I doubt the returns are worth it. We slept about 7 hours.

  4. Talk with sponsors and try to get a relationship going. This helps problem solve and puts your project in their minds.

That's it...for now

If you liked this, follow me on twitter, check out my other projects, or read another hackathon post.

Things I learned from the LAUNCH hackathon

I spent last weekend at LAUNCH with two friends. Our team, The Interview Club, won 5 prizes for a total of $13,500 cash (plus t-shirts). To decompress a little, I want to share the postmortem and some tips that made the hack successful.

LAUNCH hackathon

The idea

LAUNCH is one of the biggest hackathons in the world. We planned to attend for a while, but found ourselves driving up to SF last Friday without a solid idea.

Last week someone offered me a few hundred dollars to interview a candidate. This isn't uncommon - every couple weeks I do a technical interview as a favor to a friend.

All three of us used to work at a small company, where we’d spend hours each week interviewing candidates. Usually interviews were a huge waste of time because screening by resume is very flawed.

What if there was a marketplace where companies could have top engineers interview their candidates? With a couple ideas floating around, we decided as we were driving that if we passed SFO and didn’t think of anything better, we’d go for it.

Interview Club

Code Hacking

The Interview Club was straightforward to build. Here are things that worked that others can use to improve their chances of hackathon success:

  • Avoid backend work - Parse is a great tool for quick prototyping. The goal is to make the app work, but minimize the amount of time building things that people don’t actually see.
  • Pretty landing page - I’m terrible at design, so I got a head start with a professional looking template. The landing page is important because it's a first impression, and impressions are limited at a hackathon. I based my design off one from html5up.net.
  • Division of labor - This is important. I handled random stuff like the frontend design, domain setup, emailing, special cases like the node server we had to run when Parse wouldn’t cut it. Andy handled most 3rd party integrations. Julius handled the details and polish of our expert-company-candidate interactions.
  • Less is more - I’m a strong believer in diminishing returns and I don’t think working through the night is an effective way to win a hackathon. Best to stay clear-minded and healthy.

“Growth Hacking”

I knew our idea had legs but it wasn't flashy or cool, so the only way to make it stand out was to get real people committed. This would solve the chicken-and-egg problem of our two-sided marketplace.

  • Users at all costs - for an idea like this, you need people to prove it.
  • Post on social media - the appropriate subreddits, Hacker News (where the thread died without much notice), and even Google+.
  • Ads - A Facebook ad was a few dollars and led to a couple clicks.
  • Hackathon Hackers - this Facebook group is a great community of people who are super supportive of hacks. Their support was incredibly helpful.

In less than 24 hours, we received over 100 signups. 100+ engineers who want to interview for me, 5-10 companies that want to interview technical candidates but don’t have the in-house resources to do so.

Early traction was a huge boost for us. The fact that we had already solved our two-sided marketplace problem and proved the market played an important role in our success.

Pitch early

I started pitching on Friday to some of the sponsors. You don’t have to make a big deal about “pitching,” just casually explain your idea to people. It didn’t seem too helpful at first (most people will just nod and say something polite), but it will pay off in a big way when people give feedback.

For me, what helped crystallize the vision was a comment from a CEO who pointed out that I should really target companies between 1 and 30 people (my initial pitch targeted one-off MBA types who needed tech talent). Small companies just don’t have the time and technical resources to effectively screen the top of their funnel, and that’s why this idea was so powerful.

One of the prizes

One of the prizes.

Next Steps

It’s actually not over - we’re presenting at the LAUNCH festival tomorrow, competing with the top 5 teams for the grand prize of a $100k investment.

Finally, special shout out to the LAUNCH and ChallengePost people who put this together. We had an awesome time and you were incredibly helpful.

In the meantime, we’re still improving Interview Club...

Engineers - companies have signed up to pay $100+ per technical interview.

Companies - we have over 100 talented engineers - many of them at top-tier companies - who would like to help you hire talent.

Check it out!