Kredi Kayıt Bürosu, Turkey's credit bureau, and Coderspace asked teams to turn data into
value with agentic AI. With Ahmet Selim Özel and Alihan Esen, I built an agent that
answers questions about the Turkish economy from central bank and banking data, and we
took 1st place.
Scroll to walk along the line, from raw data to a checked answer →
1st place at KKB Hackathon: Agentic Data Analytics, 2026
13 million rows of TCMB EVDS and BDDK data in a lakehouse
45 tools the agent calls to find, compute and chart
KKB wanted agents that turn data into value for its business, its products or society.
The kick-off named six kinds of tools an agent should have: a lakehouse, web search,
reading web pages, finding anomalies, finding change points, and testing causality.
Everything had to run on open-weight models served through MIA, and the questions came
in Turkish.
Mines: the data
Two ore fields
TCMB EVDS, the central bank's data service: a catalog of 53,842 series and 6.1 million observations.
BDDK, the banking regulator: monthly, weekly and FinTürk bulletins, 6.9 million rows.
Both from January 2021 to June 2026.
Furnaces: the lakehouse
Bronze, silver, gold
Raw files land in bronze unchanged, become clean series in silver and coverage tables in
gold, and are published read-only as DuckDB.
The vault: snapshots
Every dataset is stored as an immutable snapshot, one chest for each version. That makes
the lakehouse work like git: a name such as latest is only a pointer you can move
to any snapshot, so going back to an earlier version is easy. Each chat is pinned to one
snapshot, so new data never changes an answer halfway through.
The assembly line: the agent
One PydanticAI agent with 45 typed tools. The model decides which tool to call; the
server does the arithmetic, the statistics and the charts, so every number in an answer
comes from a tool. Asked to compare real mortgage rates with house prices since 2021, it
runs:
When the data isn't in the lakehouse, the agent reads web pages, PDFs, Excel, JSON and
images, with OCR for scanned pages. For pages that load their data with JavaScript it has
discover_api, a tool that investigates the site's API: it reads the page's own
scripts, finds the endpoints behind them and learns how they are called.
Turrets and walls: trust
Small models make up numbers, mix up dates and drift into English. Guards in the harness
catch each of these and send the answer back to be rewritten, along the red belts; in
testing they pulled back 13 answers. Code the agent writes runs in a rootless Podman
container with no network.
The rocket: the result
On questions it had never seen it passed 12 of 12 steps and 45 of 45 checks. After the
online rounds we presented to the jury in person, and Uçan Hamsiler took 1st place.