Questions? Feedback? powered by Olark live chat software
Přeskočit navigaci

The Search for Search Contest Winner

Publikováno dne 20 dubna, 2016

Software Engineer, Azure Search

-Search4SearchWinner-banner@2x

“I love the cloud. Azure PaaS offerings allowed me to develop, run, and manage applications without the complexity of building and maintaining the infrastructure.”  

At the end of last year, we put a challenge out to our readers: use the power of Azure Search to build something awesome. We loved seeing the results come in. We are happy to announce that the winner of the first #SearchForSearch contest is Robert Chiu of Brisbane Australia.

Robert works primarily as a backend developer, currently part of a digital lotteries team supporting and managing several lottery websites in Australia. Robert is a self-described can-do person and looked at his lack of UI experience as more of a challenge than a hindrance. In his own words, “working on the new territory involves a hands-on approach and a lot of trial-and-error. I believe the more we try (or fail) the better we become, of course within the given time frame and budget.”

When Robert set out on this challenge, gas prices were still relatively high. Prices can vary greatly within a few city blocks, and price fluctuations are sudden and unpredictable. His main complaint was that “petrol pricing is highly complex and opaque, and drivers often don't have the information they need to get the best deals on fuels.” Making this data accessible in an easy and convenient manner is the best way to solve this problem.-Search4SearchWinner-gasprices@2x

Mapping the gas stations of an entire country is a massive endeavor, and is almost impossible for an individual to accomplish manually. Robert knew this from the start and decided to create a platform that would allow for gas price data to be crowd sourced. Crowdsourcing is difficult to pull off. Any crowd sourced data set requires a critical mass of contributors to become valuable and self-sustaining, but contributions only start pouring in when the value has been established. With the help of Azure, Robert was able to brush aside the technical details, and focus on the chicken/egg issue at hand.

Robert put together an upload page served by an Azure Web App that allowed users to contribute price and station data across Australia. This upload page committed the entries directly to a DocumentDB database which served as his primary store. He also configured an Azure Search indexer to detect changes in DocumentDB and automatically make them searchable. With three services, Robert was able to setup an easily maintainable crowdsourcing platform that empowered users to create something substantial by sharing with each other.

-Search4SearchWinner-datapipeline@2x

But having the data isn’t enough, it needs to be presented in an easy to consume manner. When you’re in the car and almost out of gas, you don’t have time to fill out a complicated form to perform a search. Robert created a beautifully simple Google Maps search interface that detects your location and brings nearby prices to you right away. To accomplish this location-based search he uses Azure Search’s built-in support for geospatial data to issue polygon or distance queries.

mapviewcropped

And since you’re unlikely to have your laptop with you on the side of the road, Robert made sure it had a smooth mobile experience as well. A mobile friendly web app has the huge advantage of a single codebase to maintain, and only one language. This was accomplished with the use of angular and twitter Bootstrap.

-Search4SearchWinner-devices@2x

Robert also saw a need for an advanced search interface. If you’re truly a savvy shopper, you may want to plan a trip to get the absolute cheapest gas, or you may just want to browse trends in your area. The advanced search interface below allows slicing and filtering of data based on state, suburb, and even fuel suppliers. Configuring this sort of faceting and filtering with Azure search is as easy as checking a box.

advanceviewcropped

Robert found a problem that affected his own life and decided to try and solve it. With the help of Azure services like Search, DocumentDB, and Web Apps, he was able to build a prototype in no time. But I think Robert says it best:

“I love the cloud. Azure PaaS offerings allowed me to develop, run, and manage applications without the complexity of building and maintaining the infrastructure.”

Looking forward, Robert sees IoT as the next big step for this project. “To preserve the accuracy and integrity of the data, we had to get it from the source. Keeping that data up to date is a challenge with over 5000 stations in Australia and IoT integration with stations’ price boards could really help.”

Once again we would like to thank Robert and all of the other participants, it was amazing to see what you all built with the power of Azure.