Inspiration

I was inspired to develop this app because for a long time, I thought it would be very helpful to have visibility into all of my local businesses, to see what types of loyalty and other offers were available. I felt it could be very lucrative to businesses to be able to notify people in their area of the products and services they were offering.

What it does

Reward Me! Is an app designed to help customers discover nearby businesses who offer loyalty incentive programs. It provides detailed information about the offered loyalty program, any active promotions, as well as current or on-going specials the businesses offer. Customers can enroll in loyalty through the app with a click of a button. They can manage all of their rewards in one place, and be notified of new rewards, as well as any new business that becomes available nearby.

Reward Me! helps Square merchants drive new customers to their business by allowing them to discover their business, and easily enroll through the app. Merchants have complete control over the information that is made available to the customers. They are notified when a customer enrolls or requests to be enrolled. In addition, merchants can show customers any specials they’re currently offering to potentially draw in more business.

How we built it

The app is powered by a backend restful service, developed in Node JS and Express, using a Postgres database. It caches merchant information, such as some business and loyalty details, in order to make the data quickly available to customers exploring on the app. Both merchant and customer facing apps are developed for iOS, using SwiftUI. Developing Android versions would not be difficult, since the business logic lives on the backend server.

Challenges we ran into

Perhaps the biggest challenge I faced was with all of the rules around the loyalty program. The rest service does not maintain the details of the loyally program, but rather the customer facing description of how points are accrued and redeemed. It got a bit complex when supporting accruals that were based on items or categories, since I would need to update the description whenever the related catalog items changed.

Accomplishments that we're proud of

I'm proud of how the customer app turned out, in that I feel it's intuitive and visually pleasing. I truly feel it could bring a tremendous value to customers who are looking to earn rewards and find new businesses nearby. I also feel that the merchant app is easy to use and can help them expand their customer base.

What we learned

I learned a great deal about how Square manages its loyalty program. I’ve also become very familiar with a variety of its APIs, such as those for Merchants, Locations, Catalog, Customers and Loyalty. I've also learned quite a bit about security, since the backend service needed to access the Square APIs, and there were definitely challenges around transferring and storing the access tokens.

What's next for Reward Me!

I'm really hoping that I can make Reward Me! available soon in the Square Marketplace. I was hoping to get some good feedback by joining the Hackathon, and would love to be able to do some beta testing with merchants.

Share this project:

Updates