Back to Projects

Open Grade

Sole DeveloperB.Sc. Final ProjectMar 2026 – Present

Financial trust scoring platform using Israeli Open Finance APIs (PSD2).

7
Scoring Factors
1,200+
Merchants Classified
15
Database Tables
23
Design Docs

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, aggregated into a traffic-light result (green/yellow/red).

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

Scoring financial behavior without machine learning or training data

Built a rule-based 7-factor engine with configurable tiers. MCC-based expense categorization uses a priority-ordered fallback: MCC codes → merchant name dictionary (1,200+ entries) → 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.

Tech Stack

Frontend

React 19 + ViteFast builds with modern React features
shadcn/ui + Tailwind CSSPolished accessible components with utility-first styling
React Hook Form + ZodType-safe form validation for check creation and settings

Backend

Express + TypeScriptType safety across the scoring pipeline, shared types via monorepo
PostgreSQL + PrismaType-safe ORM with schema migrations for complex relational data (checks, participants, connections)
RedisSession caching and temporary state during multi-step check flows

Infrastructure

Docker ComposeMulti-service orchestration: PostgreSQL, Redis, Express, Nginx
GitHub Actions CI/CDAutomated staging + production deploys with health checks and rollback