Macy's held a 3-hour mini-competition during HackGSU to build "an application (web or mobile) to improve the shopping experience." We set out to alleviate the biggest pain point when retail shopping: checking out.

Plenty of people love to shop, but few people like to buy. The checkout counter is simultaneously the slowest and least rewarding portion of any shopping trip. The customer just spent their time picking out items, just to stand by and watch the cashier go through them again one by one; and the cashier spends his whole day checking out items one by one to remove tags and scan barcodes. Enter 1Code.

What it does

1Code is a shopping utility application that allows users to scan barcodes as they travel around a store, adding items to their shopping cart. When ready, the customer goes to the register and instructs the app to "Checkout." The app automatically generates a unique QR code that is used as a key to store the users cart in the cloud. The cashier then uses his application to scan the QR code displayed on the customer's phone, and the entire cart with prices, barcodes and item names is pulled down from the server and is available to them.

How we built it

We built the customer and employee applications in native Swift, and wrote our server-side logic using Node.js to manage a MongoDB instance hosted on MongoLab

Challenges and Accomplishments

We only had three hours, and we set ourselves an ambitious goal. Namely two fully functional (and aesthetically pleasing to boot) native iOS applications and a live backend. But we did it! The apps are far from a complete shopping solution, as they're mostly a proof of concept and the first step in the installment of a system to improve the retail experience for both consumers and businesses.

What's next for 1Code for Macy's

To make full use of 1Code, a much more fleshed out system is needed. Our vision for a system of this type involves an adaptation of the already-present security tags to incorporate Bluetooth Low Energy beacon devices that act as long-lived, cheaply produced microlocation devices.

These tags will allow the cashier to ensure that only the items a customer has scanned are present in their shopping cart with the mobile device running the employee application. The device would use the unique identifiers stored in the customer's cart information to detect the tags on the products, and if unrecognized signals are detected from a security tag not listed in the cart, the employee will be alerted.

The tags could even plausibly be designed to automatically disengage and fall off when the cashier completes the sale for those items.

User application link

Employee application link

Built With

Share this project: