Chris: In high school, I was a part-time cashier at a popular fast-food chain. We had many different customers come by - some were kids my age going on an affordable first date, some were busy soccer moms trying to feed a bunch of rowdy children after a game, and some were my teachers that I would awkwardly see after I thought I had finally escaped their long, boring lectures. For many, ordering a meal may seem like a simple task. You would tell me your order, and then I would repeat it back to you to confirm that I got it right. I would have the occasional indecisive customer, but for the most part, we could make the transaction within a couple of minutes. One day, my very simple and routine job met a challenge - the man in front of me was deaf and could not speak his order to me. After a long and awkward back and forth, he had to type out his entire order onto the Notes app on his phone in order for me to be able to put it in the system. While it was slightly inconvenient for me, I cannot even begin to imagine the challenges that he faced on a day-to-day basis trying to make simple purchases at restaurants, retailers, or hotels. That is why we decided to create FindIt.
What it does:
With the growing popularity of online shopping and the lessening time that the average person is willing to spend on shopping, we came up with a mobile app that can make the shopping experience quicker for everyone. You can either type or voice search for items in your area and fill up your shopping cart. Once you have filled your cart to your heart's desire, it will generate a QR code that our retailers can use to pull up their order in the store.
How we built it:
FindIt is split between two apps: a client-side commerce app and a merchant-side reader. The app is built in React Native using the Google Maps API to find nearby stores, the NCR SilverAPI to load retailer merchandise data, and the Azure CosmoDB to store client shopping carts. For the web application, we built it in React and NextJS and the Azure Website App to deploy it online.
Challenges we ran into:
There were a lot of APIs used to create the apps, so we had to read a bit of documentation and refine our code quite a bit in order to optimize loading times.
Accomplishments that we're proud of:
None of us had any experience with React Native (or mobile development) before this weekend nor with all of the complex API's that we got to work with. We also did a great job with dividing tasks to meet each team member's strong skills as well as develop some of their less practiced ones.
What we learned:
React Native, dealing with multiple APIs, and code optimization skills!
We hope to improve our store merchanise data and perhaps continue optimizing the code to be better styled, fully using each API to its full capacity, and perhaps even getting some user testing