-
Landing Page - OpenScore homepage showcasing credit score tracking and growth insights.
-
Login Screen - User sign-in page with role selection and credit trend preview.
-
Lender Dashboard - Bank view of loan applications, risk levels, and applicant metrics.
-
Applicant Detail View - Detailed financial breakdown and loan decision interface for a borrower.
-
Custom Dashboard 1 - Customer view of online banking, document upload and education
-
Custom Dashboard 2 - Customer view of documents submitted and receive credit score
-
Customer Credit Score - Detailed breakdown of the customer's new credit score
-
Credit Score Simulation - Allows the customer to consult gemini and see how certain changes would affect their credit score
💡 Inspiration
More than 3 million Canadian adults are deemed credit invisible, with the majority being immigrants (Equifax Canada, Stats Canada).
People get locked out of housing, loans, and education not because they are financially irresponsible, but because they do not fit into traditional credit systems.
Students, newcomers, freelancers, and gig workers often pay rent on time, manage bills responsibly, and earn income consistently, yet are rejected simply because they lack years of conventional credit history. Banks treat no credit data as no trust, even though meaningful financial behaviour exists.
We built OpenScore to show that trust, and credit system can be measured differently.
🛠️ What it does, and how we built it
OpenScore is an alternative credit scoring platform that builds a new credit profile using real financial behaviour.
Users first connect their online bank accounts through the Plaid API, then upload additional documents such as balance sheets, income statements, and education credentials. This data is evaluated across four key factors:
Financial Accounts (40%) Investments, rent, phone bills, and recurring payment history
Alternative Income (30%) Gig income and non-traditional earnings
Cash Flow Volatility (20%) Income consistency and spending stability
Education and Licenses (10%) Formal education and professional credentials
These factors are combined to generate a new credit score. Users receive real-time analysis through interactive graphs, simulations, and natural language explanations powered by the Gemini API, allowing them to understand what affects their score and how it could change.
We use MongoDB to securely store Plaid account data, access tokens, and user profiles, keeping sensitive information separated and protected. The frontend was built using React and Tailwind CSS, while the backend is powered by Flask, handling data ingestion, scoring logic, and simulations.
🚧 Challenges we ran into, and what we learned
Integrating the Plaid API was by far our biggest challenge. We struggled to properly connect Plaid to our backend endpoints in a way that could reliably serve data to the frontend. Authentication flows, token handling, and syncing live account data all caused repeated blockers.
After a lot of trial and error, we shifted to a workaround by connecting Plaid directly to MongoDB, storing account data and keys securely and pulling from the database instead of live endpoints. While not our original plan, this approach allowed us to move forward and stabilize the system.
We learned that fintech integrations are rarely straightforward, and that sometimes the best solution is not the cleanest one, but the one that actually works.
🏆 Accomplishments that we're proud of
For us, this project was a milestone in building a full-stack financial system that challenges how credit is traditionally measured. We successfully integrated open banking data, document uploads, simulations, and explainable scoring into a cohesive web application.
Most importantly, we built a product that shows how responsible financial behaviour can be recognized even without a traditional credit history. We are very proud of what we built.
🚀 What's next for OpenScore
We aim to expand OpenScore by: ▪️ Adding multilingual and accessibility-focused features ▪️ Integrating live open banking connections beyond simulated data through other banking API's ▪️ Improving income volatility modeling for gig and freelance workers ▪️ Partnering with lenders and housing providers to pilot OpenScore as a supplemental credit signal
Our goal is to help make access to credit fairer and more inclusive.
Built With
- flask
- gemini-api
- javascript
- mongodb
- plaid-api
- python
- react
- tailwind
Log in or sign up for Devpost to join the conversation.