Updated: Feb 4
Minnehack, one of the largest and grandest hackathons in the midwest, occurs every January at the University of Minnesota Twin Cities campus. This year, however, my team and I were fortunate enough to participate and challenge ourselves in this hackathon. To begin, Minnehack was unlike any other hackathon I have ever attended, since we were allowed to create our project for almost 20 hours, a much longer time alloted for project creation than at previous hackathons. Furthermore, many sponsors like Ecolab, Optum as well as BestBuy recruited for potential candidates. In fact, for one of the awards, all the members of the winning team would land an interview opportunity at UIPath, an automation service company. Individually, however, I believed that this hackathon brought the best out of me in terms of production and efficiency, since it marked the first time when I was able to fully create, deploy and demo my team’s project. Furthermore, I observed different ways teams were integrating services like Twilio, MongoDB as well as front-end technologies that teams utilized to interface their service or product, like React Native or Angular. By watching and observing different teams, I found a new sense of motivation and drive to keep learning and attempting new challenges.
Problem & Solution
The main prompt of the hackathon was to bring about social good in communities. To solve this issue, my team brainstormed a plethora of ideas, ranging from creating a free home renting service for homeless people to a global map of trash cans. At the end of the session, my team and I decided to tackle the problem of sustaining contact between professionals after meetups or events, a problem which almost affected me. For example, at an AI meetup I attended in early october, I introduced myself to a professional working in the IOT space, and just as the event ended, the individual asked me to connect with him and handed me his business card. I nearly lost his card and had to dig through the unexplored crevices of my backpack to find the card and finally connect with him. Although in my example I eventually found the card and connected after some days, I wondered how many people lost out on opportunities due to the fact that they lost business cards. Therefore, we tried to create an app which had a digital smartcard with hooks and links to a contact's social media. To elaborate further, imagine a digital business card that you can easily share with NFC, which is persisted on your phone, which can easily be edited to show only particular information, and contains direct links to social media. We felt that this app would more reliably sustain contacts.
Features & Bugs
One of the main important features of this app would be a quick way for a user to share their digital business, since giving an individual a business card itself is quite quick. To create this efficient process digitally, my team and I decided to try using Near Field Communication or NFC for short. It enables two phones to communicate with each other at short distances due to EM induction, and it simply requires the backs of phones to touch. Unfortunately, however, after spending 5-6 hours researching, trying to implement NFC with different APIs, and testing, we decided to move on, since although we were able to send metadata, we were unable to send the content of the data itself. As a backup, we decided to implement a QR Scanner using Firebase ML Vision apis, a quick process in exchanging contact info but not as flashy as NFC.
The ability to search contacts and query through them quickly is also an important function of the app. In my opinion, this is an area where I believe the app dominates the traditional business card. The minutes spent searching for lost business cards is improved into milliseconds. In order to optimally look up, my team and I decided to implement a Prefix Trie, basically a tree of characters which contain pointers to the next sequential characters in a word. By traversing down the tree with a given query, one can get blazingly fast lookups of words or phrases. Unlike NFC, we were able to successfully and quickly implement this feature.
The final part of the hackathon concluded by teams presenting to judges. Our presentation was straight-forward. We explained our motivation for creating our application and demoed the ways a user would use the application and its features. Unfortunately, however, this idea has already been implemented and on the app store. By knowing this, it was clear to us that our chances of winning are non existent. Despite this, however, though my team did not win an award at the hackathon, I still felt as if we “won”. We met incredible people, saw ways of implementing common apis like push notifications, and finished our project, a feat I fulfilled for the first time. I learned many valuable lessons from Minnehack,and I regained my drive to learn and attempt crazy challenges again. Thank You Minnehack!