Klaussa
Indonesian legal corpus
297Kregulations
Pulled continuously from 37 separate government sources.
derived from it
- 3.48M
- 2.57M
- ~99%
AI Research, Engineer, and Product
and build the intelligence layer on top of it, cheaply.
I build AI systems over messy legal, government, and research data. They acquire the source material, turn it into usable structure, and answer with evidence attached—at a cost that can work at national scale.
Common projects I took
I collect fragmented sources, normalize them, and expose the result through an evidence-backed workflow.
Cost follows meaning, not row count.
Repeated ledger semantics are collapsed before inference, so large workloads do not require one expensive model call per row.
Data acquisition
Intelligence layer
Data Scale
Indonesian legal corpus
297Kregulations
Pulled continuously from 37 separate government sources.
derived from it
Ministry of Finance
1.83Mbudget lines
Covering USD 224.4B of public expenditure.
derived from it
AI research corpus
159.8Kpapers
Indexed from ten core venues and arXiv cs.*, and topped up as new papers appear.
derived from it
Triple helix
I build production systems for industry and government, and research methods that make those systems more useful.
Industry · Klaussa
Founding engineer at a seed-funded legal AI company, about 100 daily users in production
Government · Two ministries
Delivering AI products to the Ministry of Finance and the Ministry of Law and Human Rights, as a startup partner
Academia · 8 papers, 40 citations
Published during undergraduate study; member of SEACrowd
Featured projects
Ministry of Finance
It turns a plain-language policy theme into a reviewed, traceable analysis of a large budget. Regional and national budgets remain separate because their bases differ.
A theme becomes a standard operating procedure, one reviewer correction spreads to every similar line, and the budget is traced from raw ledger to headline figure.
A theme typed in plain words becomes a standard operating procedure, carrying its legal basis and its weight ladder.
Illustrative product mockup: the on-screen figures are sample data and the region names are masked. The impact figures are recorded ones.
Impact
Delivered
Domain logic separated from each ledger and storage backend, so a new source is an adapter rather than a rewrite.
Repeated ledger semantics are merged before any model call, which is what makes one judgment cover hundreds of rows.
Resumable processing that recomputes only what changed, so no verdict goes stale silently.
AWS Lightsail in Jakarta behind Cloudflare, with heavyweight SDKs replaced by custom SigV4 and TF-IDF to fit a 0.20 MB/s uplink.
Every judgment lands in a queue a finance analyst accepts or overrides.
Seeded legal-tech company
Klaussa collects all 297K of them and keeps collecting, reads the scans with OCR run on its own hardware, links every citation from one regulation to another, and answers a legal question with the clause each part of the answer came from.
One pass through the product: a legal question answered from the collection, the regulations behind it searched and mapped, then a document reviewed and another drafted against the same source.
A legal question is answered from the corpus, with the plan it followed and the articles it relied on.
Drawn product mockup: the company names, people and contract files in it are invented, while the regulations, article numbers and platform figures are real. The impact figures are recorded ones.
Impact
Delivered
Stage-based ETL where every stage is idempotent and resumable, with an isolated coding agent that has shipped six production fixes on its own.
Run on a rented 16x RTX 5090 cluster, with low-confidence pages dead-lettered instead of silently indexed.
An in-text citation algorithm that links each regulation to the ones it amends, implements or is tested by.
Planner, tool use, supervisor and grounded citation over a self-hosted Qdrant index.
Llama-3.1-8B with continued pretraining on 1.27B tokens of Indonesian law, then SFT, then RLVR with GRPO.
Own research infrastructure
An index of AI research that keeps itself current, which an agent queries through nine tools over MCP. The pipeline works down a venue roster, pulls each paper's metadata, fetches the arXiv PDF and extracts the full text, so a phrase buried in a body paragraph is findable. A paper outside the index comes back as a visible stub that one call will ingest.
One pass: a query over the corpus, the paper opened at the matching passage, its citation graph walked, and a missing paper pulled in.
A regex query over the full text returns ranked hits with the matching phrase in its own sentence, scored and dated, in well under a second.
Illustrative product mockup: the tool names, the result shape and the corpus figures are real, and so are the papers on screen, though they were chosen to show the behaviour and not transcribed from a single run.
Impact
Delivered
DBLP roster to OpenAlex and Semantic Scholar metadata to the arXiv PDF to pymupdf4llm full text. A killed run continues from a durable cursor and a per-paper stage ledger rather than starting over.
An alias crosswalk, a normalised soft key and cluster-merge, so the same paper arriving from three providers lands once. Every ingest is idempotent.
Trigrep, a lexical trigram and regex engine, is the configured default; FTS5 gives SQLite BM25 with no binary to install. The strategy is a config value, not a rewrite.
An MCP server exposing nine tools — search, get, read, find_related, list_venue, coverage, references, cited_by and add_paper — plus a paper-research skill.
Klaussa · retrieval research
Indonesian law has whole families of near-identical titles, and a general encoder ranks them on how similar the wording looks, so the one that actually governs can land at rank 14. A 568M-parameter retriever fine-tuned on this corpus puts it first, and answers in about 40 ms on an ordinary CPU against about 500 ms for the hosted API.
The whole argument on one timeline: the query put to both encoders, the buried law surfacing, the two-register leaderboard, and what it costs to keep serving.
One labelled query embedded by both encoders concurrently over the same 39,153-document index, each arm timed end to end: about 40 ms local against about 500 ms for the API round trip.
Every number, latency and metric on screen is measured by the project's own evaluation kit. The ranked lists are arranged: each row is a real document from the index and the gold document's positions are the measured ones, while the documents filling the other slots were chosen to show the failure class and not transcribed from a run.
Impact
Delivered
A 568M bgemix4-w0p75 encoder of BGE-M3 lineage, trained on the Klaussa corpus so that near-identical statute titles are separated by which one governs rather than by surface similarity.
The same model measured on an agent register (AQUAK, n = 803) and a human citation register (KlaussaBench, n = 545), because a retriever that serves an agent and one that serves a lawyer are not graded the same way.
An in-RAM matmul over 39,153 documents, which is what lets a query finish in about 40 ms without a GPU and without a network hop to a hosted embedding API.
Every logged query becomes training data for the next fine-tune, so the register the model is graded on keeps matching the register it is used on.
See the work

In the room
Bring a slow or expensive workflow. In one call, I’ll identify the first technical question to test—and tell you if I think it is not worth building.
Bring the decision, the data behind it, and what makes it slow or expensive today. You will leave with the first technical question I would investigate and an honest read on whether it is worth building, including when the answer is no.