It's hard to avoid technology these days: we use voice-commands to play music, robots to drive cars, and code to diagnose illnesses. Why then, in a golden age of technology, have we failed to centralize loyalty programs? Companies still require physical cards, stickers, and third-party apps to exercise the perks of these loyalty programs, and to what benefit? It's costly, inaccessible to small businesses, and offers a terrible user experience. There should be an easier way, and now, there is. Introducing Uniwards.

What it does

Uniwards is an integrated tool within the bank that provides LaaS (Loyalty as a Service). The platform tracks users' transactions and offers them customized rewards that partnered businesses offer. Geared towards exposure for small businesses, business owners can choose specific facets of spending to market their promotions to. For instance, a small coffee shop can ask that a 10% off is offered to anyone who spends over $50 at coffee shops in one month. Businesses can also customize their promotions to be specific to spending at only their store, or offer promotions on a particular day: i.e. offer 60% if they spend more than $20 in one month at MosMos Coffee, or offer 80% off on Halloween.

How we built it

The front-end is a React application with a Python back-end. Data is kept in NOSQL MongoDB and the website sports a full API suite. To keep up with the times and promote portability across all operating systems, we containerized Uniwards with Docker on continuous Azure Pipelines. Graphic design is done on Adobe Illustrator and with a lot of love.

Challenges we ran into

Initially, we considered developing homomorphic encryption methods to handle the transaction data to preserve the bank's security and the users' privacy. This however ended on two trails, the first being the lack of a use case. This transaction data is already present and available for use by TD. The second being the difficulty. In the interest of time, we realized homomorphic encryption wasn't feasible for a two-day hackathon. Members of the group also took on new languages and concepts over the course of the hackathon. The learning curves turned into spikes as we challenged ourselves to execute the ideas in our head. This included databases, Python, APIs, and git management.

Accomplishments that we're proud of

We are very proud of our teamwork first and foremost. Hacking can be stressful, and we're proud that we could work so well together, throughout all the disagreements, tight deadlines, and obstacles. We are proud of our good practices and design patterns, in particular we are using Dependency Injection, component structures, and decoupling. We're also proud of the full stack technologies we implemented in the short time span. We incorporated Docker, CI/CD, cloud-enabled deployments, APIs, frontend, backend, and everything in-between.

What we learned

We learned Ant design, React, a small sampling of homomorphic encryption, web flow, Python, and non-relational databases. We learned to resolve conflicts on git as well as in our team, which is learning we'll take everywhere with us.

What's next for Uniwards

We want to integrate machine learning to better analyze trends and offer more intelligent promotions. We'd also like to re-explore homomorphic encryption to offer security and privacy as a facet of the tool. Finally, on the business side of things, we'd like to create dashboard metrics for the business owners to monitor their promotions.

Built With

Share this project: