Have you ever experienced a fraudulent transaction on your credit card, only to be notified days later of the occurrence feeling helpless, anxious, and completely out of control? PhishNet is the solution for you. Our application detects fraudulent behaviour on posted credit card transactions using Machine Learning to deduce "suspicious" transactions using past user transactions. PhishNet immediately alerts users of suspicious data with time of transaction, amount, and the location the transaction took place. Users have the option to dismiss or act upon the alert.
What it does
Our web app detects unusual behaviour in user credit card transactions and sends an immediate alert, notifying users of fraudulent activity in their transactions via email. A transaction is marked as suspicious through our Machine Learning algorithm based on prior user activity. The alert to users clearly details the time of transaction, amount of transactions, and the location the transaction took place. Users have the option to dismiss and act upon the notification.
How I built it
To obtain user data, we built an API that allows banks to issue PUT requests to the user. To construct a functional database to present transactions, we utilised Flask SQLAlchemy with a SQLite database in Python. The front-end Node.js server connects to the back-end using REST API. The back-end is linked to our front-end server through a POST request handle, created in a similar way to our bankAPI. We use Machine Learning to pick up on transactions that appear suspicious based off of previous user transaction behaviour.
Challenges I ran into
Building a Machine Learning system that ACTUALLY WORKS ontop of linking our flask back-end to our Node.js front-end. Making our web app mobile friendly.
Accomplishments that I'm proud of
We have a completed functional demo showing our implementation in the only 37 hour hackathon in the history of hackathons. Incorporated Machine Learning to tailor user experience. Designed a scalable and interactive web app for demo at ECHacks 2017.
What I learned
We learned how to build a Machine Learning system! For some of us, this was the first time we've coded using flask, SQLAlchemy, and SQLLite. For one of our team members, it was their first time coding in Python!
What's next for PhishNet
We see PhishNet becoming a productive and essential tool in the financial sector. Everyone on our team has been phished, bonding over the mutual anxiety associated with seeing a transaction that occurred DAYS prior being marked as fraudulent. In the short term, we plan to grow this venture through integrating features like SMS messaging, to alert users through email and/or text of suspicious credit card activity. In the long term, we hope to further improve the accuracy of our Machine Learning Algorithm to detect trends in user behaviour and post fraud alerts.