Inspiration

I was inspired to create Gift Card Roulette because memorable experiences help increase customer loyalty and leave an impression. Most reward sign up experiences are tedious and uninteresting and often don't feel like a rewarding experience. Roulette is a game that is memorable and hard to resist when there are chances to win exciting prizes, so I designed a way to combine the customer registration experience with the enjoyment of playing roulette.

What it does

Gift Card Roulette allows businesses that use Square to use the app. When a new customer gives the business their email address after checkout, the business can pull up Gift Card Roulette, search the newly provided customer email, then spin the roulette wheel on the UI to show customers what they could win. When the roulette wheel stops spinning, it lands on the gift card amount the customer won and displays the gift card number to the customer.

How we built it

I built my project on NextJS, with a MySQL database for storing user information. Then I used Vercel to deploy the app.

Challenges we ran into

A big challenge I ran into was figuring out how to authenticate the frontend to the backend since they were both implemented using NextJS. Through that I learned about using http-cookies. I also had trouble figuring out how to connect my app to Square using OAuth but learned how to do that in the process. It was also difficult thinking of how to implement the MySQL database since I wanted to avoid paying for a service, luckily I found a free MySQL service that fit my needs. It was also difficult building the UI for the roulette spinner wheel. I learned a lot of CSS tricks and also trigonometry to implement that myself.

Accomplishments that we're proud of

Proud of solving all the problems and challenges that were encountered along the way. Proud of how much I learned through this experience. Definitely believe I've come out a better developer through this experience.

What we learned

I learned a lot about using Square API and how the development process looks like on the platform. I learned a lot about important details like client-server authentication and OAuth flows.

What's next for Gift Card Roulette

It would be nice to implement more customization on the frontend so it can have a more personal experience to the business.

Built With

Share this project:

Updates