For the Haunted Hackathon we just had, my team and I decided we’d figure out how to solve a pretty unique challenge that we have around state changes.
If you’re not already aware, Oneflare is a two-sided marketplace. A core part of our product is helping Businesses quote on work. We do this by presenting Businesses on our platform leads, which are posted by Customers.
A Business makes a decision around wanting to quote for that lead, and then they provide some information for that quote, like how much time may be required to do the work, availability, etc.
In the background, that lead transforms several times, and spawns a new kind of object called a “pre-quote”, which is when the Business has started quoting on the work, but hasn’t completed it. Each time it changes or spawns a new object, that’s an additional read and write to the DB, and all that work can be a challenge to coordinate – especially when we’re dealing with thousands and thousands of leads and quotes per day!
We knew the kind of problem we wanted to solve, but we didn’t really have a flashy way of showing that off during the showcase. So, we decided to build a fun, new way for our Businesses to quote quickly on certain leads, by allowing them to send an immediate quote at the point where they’d decide to quote on the work in the first place. We felt the swipe left/right metaphor worked best for this kind of interaction.
So, with our project decided, the building had to begin!
Our team was lucky enough to have a dedicated designer (the amazing Jasmine), and two fantastic rails developers (the incredible Roy, and the wonderful Dragan). And they also had me (the somewhat-okay Pasquale).
I have a lot of mobile app development experience, so we knew our project would be in our app. Our first decision needed to be the library we’d used for card swiping. This proved way more complicated than anticipated (even in 2018, mixing Objective-C and Swift code together still proves to be an insurmountable challenge!). But luckily, we were able to find an old library which had half-solved the card swipe problem (MDCSwipeToChoose). With some heavy modifications, we were able to make the card swipe UI look great!
With the card swiping UI in place, we now needed a way to actually trigger the immediate quote on the server. We ended up solving this by something we’re calling Quote Coalescence, which, at a high level, is the bundling of some actions based on the likelihood of quotes being sent. It’s kind of similar to how most modern Operating Systems attempt to predict your behaviour, and pre-load some apps for you ahead of time.
I’d love to go into greater detail about exactly how we solved this but hey, we cant give away all of our secrets. To find our more, you’ll just have to get a job here! 😉
Oneflare is always looking for great talent! Be sure to check out our Jobs page for more details.