One dataset, two languages — the method.
Everything here was designed and coded end-to-end by Claude Fable 5, working autonomously inside Claude Code from a single prompt: real research in, deployed sites out. This page is the master recipe; each site's own /guide covers its specific tricks.
The two
| Site | Language | Signature technique |
|---|---|---|
| CITY | cinematic night city | InstancedMesh + GLSL window shader; red windows = NPL rate |
| GROUND | Swiss print report | orthographic spike map on real geography; variable-width type |
The recipe
- Start from real work. Two research reports — SME NPL, Small+Medium Only and Consumer Credit NPL 2026 — built from OJK's Statistik Perbankan Indonesia and a direct pull of the regulator's portal cube, validated against published aggregates to the rounding digit. Every site reuses those exact figures; nothing is smoothed or invented.
- One metaphor per site, taken literally. Pick an image the data already contains (households = a city at night; a regulator's numbers = a printed report) and make the data drive the metaphor's physics — window color, spike height, bar weight. Decoration is banned; if a pixel moves, a number moved it.
- No assets. Zero images, zero chart libraries, zero templates, zero build steps. WebGL (Three.js or raw), canvas, SVG and CSS generate everything. Single HTML file per site plus a ~15-line Express server exposing
/and/guide. - Honesty features. Data gaps drawn as dashed lines; zoomed axes declared; presentation devices (alert thresholds, bleed mapping) stated on the page; validation arithmetic reprinted; provincial totals reconciled to national.
- Iterate with real eyes. Serve locally, screenshot in a real browser, run at least three critique passes per site — hunting contrast failures, label collisions, dead states, broken metaphors — and fix after each.
- Ship. One Railway project, one service per site, generated domains, cross-links patched at deploy time.
The findings, in one breath
- SME NPL (small+medium, micro excluded): 4.86%, April 2026 — drifting up ~25 bps/year. Excluding micro raises the number; the risk is in the medium segment (5.51%).
- Jawa Barat is the worst large SME book (6.44%), the only one still deteriorating, medium segment 8.31% and accelerating — manufacturing and medium-trade driven, performance not mix.
- Consumer credit runs cleaner (mortgage 3.28%, auto 2.59%, cards 2.50%, personal 1.89%) — but Jabar also holds the worst large mortgage book (4.02%), while its consumer discipline is otherwise fine.
- Bali: big books can be clean — SME 1.81% on Rp 30.9 T.
Credits
Analysis: Raka, Indonesia lending-market specialist, PKA desk. Data: OJK (SPI + data.ojk.go.id/SJKPublic). Design, code, iteration and deployment: Claude Fable 5, autonomous, 2026.