I've been thinking about various ways to profile users. This application to retail sales seemed like a perfect fit.
What it does
Couponer uses various technologies to profile retail customers. The gathered information is used to target offers and coupons for the customer.
A user installs the Couponer App. The App identifies geo-fences around retail locations. Once a geo-fence is entered, a store's configuration is loaded in the background. The configuration specifies iBeacons that are strategically placed within the store. As a user spends time in the store, their dwell times in various areas are recorded in the background. These areas are associated with the placed iBeacons and identify areas of the store such as clothing, food, electronics, etc.
When the app is open, the user is occasionally presented with a choice between two random products. The products are pulled from the Tchibo product catalog. A picture and name are displayed for the two products and the user taps one based on whatever criteria they want. These choices and selections are recorded for the user to help build a profile.
The app shows coupons / discounts the user has been awarded. These are dynamic and can be based on their current location. Tapping on a coupon gives more information and allows the user to redeem it by showing a barcode that can be scanned at checkout.
How we built it
I make an iOS app for the user part of the service. It's written in Swift and uses several phone technologies such as GPS and Bluetooth to identify when a user enters a geo-fence and an iBeacon region. I connected the app to Google's Firebase for user authentication, data storage, and processing.
I wrote some networking code to query the Tchibo product API made available for the hackathon.
Challenges we ran into
It took a while to build a Swift model of the Tchibo product schema so I could load product info into native Swift objects.
There was a LOT of code to write to make the app work to demonstrate the service.
Accomplishments that we're proud of
I'm proud that the app shows a complete demonstration and is not far from being usable in field tests.
What we learned
I learned about Tchibo the company and its product offerings.
What's next for Couponer
The service needs some work on the backend to make it usable in a real field test. When COVID-19 subsides, I'd like to bring it to a test location. I also want to build a management console.