My team from novi AMS went to the Intuit campus in Mountain View last weekend to do a #SmallBizHack hackathon. Honestly, I've never been a fan of these kinds of events, because building anything on a deadline is exactly the kind of thing we avoid by adopting agile processes. But the company had been there the previous two years, and it's also a remarkable opportunity to network with the people who build the product we integrate most closely with (QuickBooks Online), and I'm definitely game for that.
It was me, our founder, and the two developers I hired earlier in this year (my third, a front-end dev/designer just started last week, so this would've been a bit much on top of onboarding). We arrived with an idea that Intuit's developer evangelist felt was already done by recent additions to their app store, so we had to make a game day call on something else. Here's the problem with hackathon ideas: It's never super clear what kind of thing will be loved by the judges. What's worse is that you never quite know if they expect to see a working product, or something that amounts to a business plan. For those of us who want to build something that mostly works by the deadline, that's frustrating. My crew cares about craftsmanship and building working stuff, which is why I love working with them. Since the sponsors included Google (specifically Google Assistant) and a telephony company called Nexmo, everyone was thinking about ways to talk to your phone and send text messages and such. I thought it would be fun to "gamify" sales, sending text alerts when new invoices hit QBO. Our founder had a better idea though, a voice app that would let you know, based on your location and overdue invoices, where you could physically go to collect from your customers. That's a high tech solution to a low tech problem, but we were all onboard with it. Initially we thought of this strictly as something with a web UI, and kind of late in the game pivoted to add the voice stuff.
By 10pm on the first night, we had a lot of the individual parts working, but not composed to a working solution. I spent a ton of time working on the authorization story to connect our app to QBO, and it took entirely too long. In the end, it was mostly because of poor documentation with the SDK, not the underlying API itself. I also handled some of the web UI hookups, which we didn't use in our demo, but needed as a backup and to validate the data. I ended up using Vue.js, a framework I've never used before. In fact, by the time we were done, we ended up using a ton of technologies that were new to us, which was fairly high risk given our desire to actually win something among the 30 teams.
We pitched 24th, and our three minutes were tight because of Google misinterpreting what we were saying. The workflow went like this:
As it turns out, we were not the only ones trying to solve cash flow problems, and the judges didn't seem very impressed that the extent of our solution was enabling humans to efficiently knock on doors to collect. I've been suggesting that we go back next year, and in v2, dispatch ninjas to collect the overdue money. Everyone else was using text messages and calls and notifications. The judges didn't poke any holes in what we did, but they didn't seem enthusiastic, either.
The sponsors made their selections for favorites first, and wouldn't you know it, the Google guy loved what we did. I was shocked. We each won a Google Home speaker, which should be fun to play with even though we're largely an Alexa home. We didn't win any of the formal top 3 spots, but I'll take it. The first place team had an interesting idea about how small businesses could share inventory, which was kind of neat, but they didn't really have a particularly functional product, which kind of bothered me. Again, you never know what to expect.
Regardless, I'm proud of my team. We put together something pretty cool using a bunch of tech that was out of our comfort zone, and we won something for it. We did the networking, too, which one of my guys will continue doing this week at their conference. We didn't pull some all-nighter either, thankfully, because I know I sure can't operate when I'm tired. Being physically on Eastern time, we were up by 5 a.m. anyway! If we do it again next year, I know a bit more about what to expect.