I think that now-a-days people are very willing to invest in convenience. It is convenient to watch Netflix than to go to the store to get a movie; to pay your driver online via credit card than to carry coins around; to split fares using Venmo and to pay a little bit more to have our food and supplied derived at our door. Considering this scenario, I thought: what if we could do something good with those resources people were willing to invest in convenience? That's how buy smart was born: an app that makes your life easier with every day-to-day purchases in exchange for a few cents to be invested in social projects in the area. Moreover, the app also helps local business by increasing both visibility and accessibility and allows people to be know what is happening in their communities, increasing the changes of engagement and growth.
What it does
In BuySmart, the user can select their location and will be presented with a wide range of businesses in the area, all of which are organized by category (such as supermarkets, hotels, small stores, book stores, etc). I the user wants to, it is also possible to select a time period to better organize the financial records. Then, by tapping in the pictures of the businesses, the user can have access to a more detailed description of the business and, in case the establishment has a profile in the platform, the user will be able to see a description of all products for sale and buy with one click. A small percentage of the value of the purchase will be converted into investments to social organizations and events in the area. The event that the funds are going to shows big in the main screen of the user, with a big picture and the label. In the future, I plan to allow the user to search though all the events in the area and chose one - as well as choose to increase the percentage of donation and pay a few cents for the products). With that, the user is exposed to what is happening in the community, which can boost engagement
How I built it
I used google places and maps API to get access to the data of establishments close to the user. Moreover, I used Facebook's API to have access to the relevant events nearby; Firebase to store the data of the users and td-davinci to make real transactions. All was written in objective C and in XCode.
Challenges I ran into
My biggest problem was that I do not have a Mac. Thus, I spend a lot of time trying to figure out if there was a way to use XCode in my PC, until I found a virtual machine that made things possible. However, it was extremely slow and severely decreased my productivity (I had to wait for a few seconds for the screen to scroll frame by frame...) Despite that, it took me a while to get used to how the APIs worked, specially because I still do not have much experience in computer science, but eventually things started working.
Accomplishments that I'm proud of
I am really proud of sticking with the project and finishing it - even with a horribly laggy XCode. Moreover, I am really happy to have learned more about different APIs and technologies and have practiced ios development! About my UI, I am proud of how the first screens look like, but not very much on the last ones.
What I learned
A LOT of new amazing technologies and the fact that, no matter how overwhelming they seem, it is always possible to work your way though them. I definitely improved my debugging skills, learned more about threads and learned to be more patient with my computer - even with the time pressure.
What's next for BuySmart
There is still a lot I want to do. I want to improve the UI, offer more buying options to the customers and get them closer to both the business and the organizations they are helping. I thing it would be nice to have a feed where the organizations can post about what they are doing and invite people to participate in events. Moreover, I still wanted to implement a tool based on Microsoft Azure for the organizations - using NLP to analyze their posts and correlate that with the quantity of donations and the level of engagement they are receiving, thus helping them improve their strategies.