Open Grade
Financial trust scoring platform using Israeli Open Finance APIs (PSD2).
The Problem
When renting an apartment or lending money, there's no easy way to assess someone's financial reliability. Credit scores are opaque and inaccessible to individuals. Open Finance APIs provide real banking data, but nobody has built a consumer-friendly trust scoring tool on top of them.
How It Works
OpenGrade connects to Israeli banks via the Open Finance API (PSD2-compliant). When a client creates a check, the applicant receives an email invitation, verifies their identity via OTP, consents to bank access through an OAuth flow, and their financial data is fetched in real time.
The scoring engine analyzes 7 factors: income stability, balance health, expense discipline, recurring payment consistency, savings behavior, credit utilization, and risk flags. Each factor produces a 0-100 score with explainable contributing factors. Factor weights are learned per use-case (renting, lending, hiring, partnership, other) via linear regression rather than hand-tuned, and the factors aggregate into a traffic-light result (green/yellow/red) with risk flags applied as a penalty cap.
For multi-participant checks (e.g., roommates), the system deduplicates internal transfers between participants using a greedy matching algorithm, then computes pooled scores for shared factors and worst-of scores for risk factors.
Key Challenges
Turning raw bank transactions into a fair, explainable score across very different use-cases
Built a 7-factor engine whose per-use-case weights are learned via linear regression (R² ≈ 0.96 across 5 scenarios) instead of hand-tuned. Expense categorization stays explainable with a priority-ordered fallback: MCC codes → a merchant-name dictionary (6 categories) → heuristic rules.
Detecting internal transfers between multi-participant accounts
Greedy matching algorithm with 1% amount tolerance and 3-day date tolerance. Matched transfers are excluded from pooled scoring to avoid double-counting.
Processing sensitive financial data while maintaining privacy
Zero-PII architecture: raw transactions are processed in memory and immediately deleted. Only computed scores and factor breakdowns are persisted. GDPR-compliant by design.
Real-time check status updates without polling
Server-Sent Events (SSE) stream check progression (fetching → scoring → complete) to the client dashboard. Lower latency and server load than polling.