We Nailed It @ TechCrunch Disrupt London

Intro

23475504242_581c35ab8a_o

Between December 5th-6th, the Zitec Team (Vlad Stefanescu, Gabriel Croitoru and Tiberiu Popovici) entered one of the biggest Hackathons out there: London Disrupt, organized by TechCrunch. We had fun, we won some prizes, we drank some beer but, most importantly, we created a hack based on Clover and learned some new technologies.

One of the main sponsors of the event was Clover, a San Francisco based company that replaces your cash register, payment terminal, receipt printer, and barcode scanner with an integrated suite of products. Clover offered to give a prize for the most interesting app utilizing the Clover platform. We decided to target this prize because we really liked the technology and, after a brief research, we found that the Clover APIs had great docs and the implementation seemed straightforward.

Inspiration

23475498372_7fc4bfa72d_oThe idea for our app came one day, during our lunch break. We noticed that there are a lot of restaurants in our area that offer discounts for the employees of nearby companies. Our app, called “Company Perks”, aims to provide means for managing the discounts and identify the loyal customers by NFC tags. Usually, an NFC tag is the actual employee access badge but it can be anything, from a bank card to an Oyster card or even custom NFC tags branded by the merchant.

What it does

The Company Perks app allows NFC tag scanning. The NFC tag is used to identify the customer and apply the discount to the current open order on the Clover Station. Also, the customer has the ability to self register his NFC card by selecting the company he’s employed at. By using this approach, the cashier’s flow is not blocked at registration time and in order to administer the discounts, we also built a management interface from which the merchant can associate discounts to companies and see loyalty statistics.

How we built it

First of all, the app has 3 components.

1) The Android app is used for scanning the NFC tags. This app is installed on an Android device, other than the Clover Station. The Android device will be on the cash register desk, near the Clover Station POS. Using this app, the loyal customers will scan their company badge at checkout time and the discount will be applied for the order. The Android app exchanges data with our backend API.

2) The Backend API is used for handling the communication between the Android app and the Clover API and also with the administration interface. The backend was built using Parse.

3) The administration interface is used by the Merchant in order to assign the negotiated discount with each group or company and it also provides the Merchant with statistics about the loyalty program. We built the admin interface using JavaScript, Backbone and Parse SDK.

Challenges we ran into

23475431272_864488557b_o

We ran into a few issues, mostly related with the Clover Station’s security policy. We discovered that, although the Clover Station is a very fast NFC reader for credit cards, it doesn’t expose that NFC capability for developers because of PCI Compliance reasons. Because of this, we decided to leverage the NFC scanning on another Android device. This approach demonstrates that you can use an external device, maybe a dedicated NFC scanner, maybe just a simple Android phone to extend the capabilities of the Clover Station.

Another important issue to be mentioned is that, because of the same reasons, our Clover Station app could not receive Push Notifications. Initially, we wanted to Push to our app whenever an NFC tag would be scanned on the external device and then, the app would use Clover’s Android API to apply the discount to the current order (being on the same device). Because of this, we abandoned the idea of making an app for the Clover Station and we used the REST API instead.

What we learned

Since this was the first time we’ve played with the Clover APIs, we learned that there are a lot of integration methods available and we explored their Android and REST APIs. We also found very interesting that, while using the REST API, the device updates really quick. Apart from this, none of us used Parse before, but we heard many good things about it and we decided to give it a try.

What’s next for Company Perks

Company Perks demonstrates the business idea of leveraging an external device in order to scan NFC Tags, while these tags can be the employee access badge, the public transportation subscription card (RATB, Oyster) or even merchant branded loyalty cards, NFC capable. The idea can even be extended to aggregate discounts, by releasing NFC loyalty cards which can be used across a whole network of shops, restaurants or other Clover merchants.

From a technical point of view, we hope that the NFC capability on the Clover Station gets available for 3rd party developers soon, since this would remove the need for an external device used for scanning, thus decreasing the transaction time. The thing is, a system like this, used for identifying an NFC card only needs the NFC tag id and not the other data stored on the tag, therefore our approach is secure.

Conclusions

We enjoyed the event overall, especially coding for the app and meeting the folks from Clover. We also liked the Clover Station, which is actually a custom Android tablet with a custom ROM and some hardware attached (used mainly for handling Credit Cards) and we are very proud that, despite fierce competition, we managed to snatch the prize.

 

23215967459_24ba820479_o 23216004819_37af921c21_o 23288194600_81c8b068a7_o 23288232130_362d5c240d_o 23475431272_864488557b_o 23475498372_7fc4bfa72d_o 23475504242_581c35ab8a_o 23557890016_bc9aebc3f2_ogallery_1screenshot_2015-12-11-09-27-23 gallerygallery_2 gallery_3 screenshot_2015-12-11-09-18-53gallery_5 gallery_6 gallery_7

Leave a Reply

Your email address will not be published. Required fields are marked *