Inspiration
As students, we were determined to find the payment service which would provide us with the greatest value for our money. Despite the vast selection of payment services and their varying offers, we were inspired to rise to the challenge and develop a working MVP to address our daily struggles. This ambition was fuelled further by the NUS Fintech Hackathon, enabling us to accelerate the prototyping process and bring our vision to life.
What it does
Our product is a Chrome extension that operates in two distinct stages:
It amalgamates APIcalls to payment services, resulting in a repository of reward programs.
The user's preference for payment services and cashback are sent as inputs to our rewards ranking API, which implements a Machine Learning model with the user's preferences as its parameters to yield a ranking of numerous payment services, along with its rationalization, based on the accumulated data of rewards programs.
How we built it
Software Design Pattern: We implemented the MVC design pattern for building the backend endpoints for our server. We split the business logic to the controller, and the views exposed the endpoints.
User Journey Mapping to help development: The user first signs up and answers a few questions about themselves which helps us tune the model according to their preferences and their payment service status. Now, every time they checkout from an online store, the extension automatically finds the best payment service, ranks them and shows it as a pop up on the screen.
The user journey mapping allowed us to identify critical areas of development and where we can integrate AWS products into it. We built an ML model to assist with ranking utilising AWS Sagemaker; we then attempted to deploy our backend server onto AWS Fargate, allowing the chrome extension to interact with it. The backend server also stores the user data on AWS DynamoDB to retrieve as and when needed.
In the final stages of integration, we ran into the issue of being overbilled by our Sagemaker, and Fargate instances. As a result, we had to remove it from the project.
** Note: Since we could not secure payment service API's we generated dummy data to help train our model.
Challenges we ran into
We ran into multiple roadblocks throughout the course of the project, the most notable one being that even after multiple attempts and tickets raised with the AWS technical support, we could not secure the $1000 credit on Amazon, due to which we incurred multiple expenses bearable by us. Due to which we could not host our docker image on ECS. However, we still have our image stored in the Elastic Compute Registry and is ready for deployment via Fargate.
Our teammates were scattered across the country (on vacation). Hence, collaboration amongst ourselves with the added factor of time difference was an operational challenge we faced.
Accomplishments that we're proud of
- The Ideation phase and the development of the idea starting from the initial spark, is one of our biggest achievements.
- We're proud of developing a fully operational front end integrated with our local backend to deliver just what we promised. We've also successfully integrated the backend with AWS products without prior knowledge of the cloud services.
- We're proud to have prototyped a product which would definitely capture the target market and be a definitive value add to students and other users who utilise a plethora of payment services.
What did we learn
- We were able to refine our individual skillsets in front end, back end, machine learning as well as collectively become better at AWS cloud.
- We learnt about the fintech industry, the different opportunities and learn from the experiences of all the great speakers in the workshops.
- We improved our interpersonal skills by becoming better at time management as well as delegation of work.
What's next for Rewards4You
- We want to further improve our product by getting user feedback on the UX so that we can find the best mode of providing them this service - i.e. as an app, an extension, website, a tele bot, etc.
- We want to analyze more payment services to cater all kinds of rewards schemes available.
- We also want to analyze product categories at different merchants as we foresee a potential connection between the merchant, product category and the payment service reward.
- We would also like to implement a web crawler to better generate the rewards schemes database for those payment services which do not offer an endpoint.
Built With
- amazon-dynamodb
- amazon-web-services
- aws-fargate
- docker
- ecr
- ecs
- flask
- html/css/js
- python
- s3
- sagemaker
- vpc
Log in or sign up for Devpost to join the conversation.