-
-
Welcome to Duo - Credit Invisible Screens
-
Welcome to Duo - Financial Institution Screens
-
Credit Invisible Data Owner Hosts a Session
-
Credit Invisible Data Owner Home Page
-
Credit Invisible Data Owner Data Upload
-
Credit Invisible Data Owner Requests Page
-
Financial Institution Session Connection to Host
-
Financial Institution Home Page
-
Financial Institution Requests
Inspiration
Roughly 11% of the United States population is classified as credit invisible, those with thin or little to no credit. In a world where credit opens the gates of opportunity, denied access can seriously dampen advancements in society. We believe that the traditional credit scoring system is broken, and that there is an enormous disadvantage to underserved communities in our nation. Not everyone has access to traditional banking products and has not everyone has been given the opportunity to build credit from a young age. But, just because you don't have an extensive credit history, does that mean you are unable to repay a loan? We believe that credit invisibility is not synonymous with creditworthiness. From subscriptions like Netflix and Spotify to rent and utility payments, alternative data can paint a beautiful picture of someones financial responsibility and ability to repay a loan, when there is no credit history. One of our team members is credit invisible and has detailed his personal struggles with this matter, which has given us the motivation to develop a solution that helps.
However, when we speak of data, privacy is a key pillar. With extensive data backgrounds, we know how data is stored, transferred, and accessed. From credit card numbers to information about our children to medical records to emails and more, our data tells our life story. If data is leaked or breached, our well-being could be in trouble. Data privacy is important because we need to ensure the data we voluntarily turn over to a 3rd party is accessed in a responsible manner and stored securely. On the other hand, data powers the services that 3rd parties offer and they must have access at hand to innovate and develop solutions that make our life easier and better. A chicken and egg problem, we need to give access to data but ensure that it is kept safe and secure.
We built Duo to solve both problems simultaneously: To help the credit invisible own their own data without having it stored on 3rd party servers and help them gain access to lending products in a safe and easy manner.
What it does
Duo is an application and open API spec that allows the credit invisible to connect to their financial institution in a safe and secure manner, through the power of cryptography and machine learning. Duo allows customers to own their own data and grant the financial instution access, as needed, to run computations and gain insights that are executed on the data owners computer, not machines on the financial institution's side. Data never leaves the customer's computer and all computations the FI are interested in are first approved by the customer and run on the customer's computer. Duo also provides interpretability on how and why your data is being accessed and used. Duo makes owning and sharing your data with your financial institution safe, secure, and easy.
How we built it
With 2 weeks, a few liters of coffee, and a few thousand lines of code, we developed Duo using the following technology:
Languages and Frameworks:
- Python - Backend app functionality
- Quart - App powering API
- Angular - Front end application
Libraries:
- Numpy - Data manipulation
- Pandas - Data manipulation
- WebRTC - peer to peer connectivity
- PySyft - Federation
- Asyncio - async route handling
- PyTorch - tensor pointers and operations on data
API Endpoints:
- /host_session - The credit invisible data owner can host a session the financial institution can connect to
- /connect_session - The financial institution can connect to a hosted session by the credit invisible data owner
- /store_data - The credit invisible data owner can upload data and metadata to a datastore that is discoverable by the financial institution
- /see_data_store - The credit invisible data owner and the financial institution can view and discover metadata in the datastore
- /see_requests - The credit invisible data owner can see access requests made by the financial institution
- request_data - The financial institution can request access to run computations on the credit invisible data owner's data and machine
- /request_decision - The credit invisible data owner can approve/deny requests in their queue from the financial institution
- /request_logs - The credit invisible data owner can see a log and history of all requests and decisions made by them
How It All Fits Together: Our quart app powers our API endpoints which are leveraged from our front end written in angular. This allows users to white label an application or integrate the peer to peer functionality into their own applications.
Use Case: Our application takes on two personas which are illustrated by the following example:
Jack is classified as credit invisible and is looking to obtain a credit card. Jill is a loan officer leveraging Duo to access Jack's data in a secure fashion to help him secure his first credit card. Jack starts a Duo session that Jill connects to. Jack uploads his alternative data and Jill is able to discover what is available in the meta datastore. Jill can request computations that run on Jack's machine, but Jack has the power to approve and deny requests he does or does not see fit. If approved, Jill can retrieve data answers for her requests. No raw data ever leaves Jack's machine and he has full control and interpretability over his data. He can access his logs to see what and why his data was requested and being used for. Duo allows the credit invisible to work with financial institutions to obtain credit while keeping full ownership over their data.
Challenges we ran into
Creating endpoints that facilitate peer to peer connectivity was a challenge from an async point of view . We spent days wrangling through issues with threads and loops closing in traditional frameworks like flask and asyncio, but were able to overcome these by having one single thread from the quart framework. As this app works in real-time awaiting requests and connections, we needed to have a single loop alive that did not shut down when tasks were complete.
Accomplishments that we're proud of
From this hackathon we are proud of two things:
(1) We can help - We can leverage our technological backgrounds to help those in need. Putting technology to use to improve the lives of those around us are what motivates us as data scientists, software engineers, and designers.
(2) Team Work - We have the upmost respect for each other and it is amazing to see how far our solution has progressed in such a short time frame from the power of team work. Team work really does make the dream work.
(3) App Development - In a short time period we took a very difficult concept around data privacy and cryptography and applied it to help a very serious problem within the financial industry. We created fully functioning peer to peer API endpoints and developed an angular application on top of it. From design to implementation, we are very proud of the finished work.
What we learned
We learned how difficult it is for those lacking credit to get every day lending products. Building credit is not fair and it is not easy. Those from underserved communities have a sever disadvantage and we are inspired to help them.
We also learned quite a bit about the technicals of data privacy in the cryptography space: differential privacy, secure multi party computation, federated learning, and much more. From a technical perspective we learned a great deal to push for data privacy.
It was a beauty how we could take 2 seemingly different fields and passions and combine them together to help push finance for good.
What's next for Duo
- UI/UX is the butter on the toast. Our immediate goals are to keep improving the end user experience and spend research and development time create a beautiful flow and interface.
- We also plan to increase the number of computations available and allow custom user defined functions to be run through duo.
- As Duo currently only works between 2 parties and runs on a single session, we have big future plans! We envision powering a grid where everyone can create their own node -- all credit invisible members and financial institutions. Duo will work not only with 2 parties but accessible to multiple parties over many sessions. We want to create the power grid with control panels to help the credit invisible connect to any financial institution as they seek fair access to credit.
- We also want to continue to do research on the best alternative data to rival the traditional credit score and empower our users with the knowledge and data they need to get access to credit.
Built With
- angular.js
- asyncio
- cryptography
- differential-privacy
- numpy
- pandas
- pysyft
- python
- pytorch
- quart
- secure-multi-party-computation

Log in or sign up for Devpost to join the conversation.