Inspiration
Across Indonesia, gig workers, warung owners, and small retailers earn real money daily but have no payslip, so credit systems can't see them. They're either locked out, or approved for loans they can't safely repay.
What it does
Krediwise is a two-way credit-safety engine. It turns data people already have (bank statements, e-wallet, QRIS, marketplace exports) into an explainable assessment that scores both the borrower and the offer. It verifies the data, builds a "Cash-Flow Digital Twin" of real income and expenses, stress-tests it against income shocks, and scores each loan offer for safety, flagging ones that look cheap but cause distress. It can even recommend a safe amount of zero, and every number comes with a plain-language reason.
How we built it
A pipeline in the order the problem demands: a Trust Layer that checks a statement is authentic, normalization that strips transfers masquerading as income, the Cash-Flow Digital Twin, then the safety layer (safe borrowing, shock simulation, per-offer scoring). Native iOS in Swift/SwiftUI; Python/FastAPI backend; extraction via pdfplumber, PyMuPDF, and Tesseract; heavy work on Celery/Redis; PostgreSQL and S3-compatible storage.
Challenges we ran into
Trust was the hardest problem: real documents have mixed formats, missing pages, and transfers that look like income, feed that in raw and you get a clean number built on garbage. That's why the Trust Layer exists. We also resisted letting an LLM score directly, since a financial number must be reproducible and explainable. Engines compute, the LLM only explains.
Accomplishments that we're proud of
Completing the project MVP and submitting it.
What we learned
How much nuance lives in informal Indonesian finance: mixed personal-and-business accounts, irregular-but-predictable income, and that when money arrives matters as much as how much. Technically, the value of separating deterministic logic from AI.
What's next for Krediwise
Open Finance: consent-based account connections instead of manual uploads, real-time monitoring, an Android client, and lender-facing APIs. Our north-star metric holds, not loans approved, but the share of users steered away from offers they can't safely carry.
Built With
- alembic
- anthropic-claude-api
- celery
- docker
- fastapi
- jwt
- minio
- pdfplumber
- postgresql
- pydantic
- pymupdf
- python-3.12
- redis
- sqlalchemy
- swift
- swift-charts
- swiftui
- tesseract-ocr
Log in or sign up for Devpost to join the conversation.