A conversational interface to the Indonesian criminal code, built inside a ministry partnership. Roughly 2,000 users, which makes it the piece of my work that has been used by the most people.
Role Engineer, Ministry Partner in Innovative Technology Transformation. Period 2025 to 2026.
KUHPedia is a conversational interface to the Indonesian criminal code, built during the same ministry partnership as FiskalLink. It has been used by roughly two thousand people.
I lead with the user number because it is the only number in my portfolio that counts people rather than tokens, dollars or GPUs, and for a tool intended to make law legible it is the number that matters most.
Of all the bodies of law a person might need to read, the criminal code has the widest audience and the worst accessibility. It governs everybody. Almost nobody has read it. When somebody does need to know what it says, the reason is usually urgent and they are usually not a lawyer.
It also has properties that make it a good first target technically. It is a single bounded corpus rather than a sprawl of cross-referencing instruments, its structure is regular, and the questions people bring to it cluster tightly around a manageable set of concerns.
That combination, high public need and bounded scope, is why it is the sensible place to prove that a legal question answering interface can work before pointing the same approach at the full regulatory corpus.
A general purpose assistant will answer a criminal law question. It will answer confidently, in fluent Indonesian, and there is no way for the person asking to tell whether the answer is grounded in the actual code or reconstructed from something the model absorbed elsewhere.
That is the failure mode the whole design has to be organised around, and it is the same problem that shows up in the model training work from a different direction. An answer about criminal liability that is merely plausible is worse than no answer, because the person receiving it has no way to audit it and a strong incentive to act on it.
The requirement that follows is that answers stay bound to the code itself rather than to the model’s memory of it, so a user can always be pointed at the provision an answer rests on.
Delivered and in use within the ministry partnership programme, with roughly two thousand users.
This page is deliberately short. The system details and the usage data belong to a government partnership, and I have kept this to what I am comfortable stating publicly without checking first.