Software developer · Istanbul

Local-first tools that make AI systems easier to evaluate, inspect, and trust.

I'm Mert Efe Kurt. I build deterministic, CI-friendly Python tooling for LLM evaluation, agent reliability, and RAG quality — checks that run where your data lives and fail loudly when something regresses.

  1. LLM evaluation
  2. Agent reliability
  3. RAG quality
  4. Developer tooling

Four tools, one belief:
deterministic beats plausible.

Each one runs locally, needs no API keys, and returns exit codes a CI pipeline can act on. Python standard library at runtime — nothing to break at 2 a.m.

Finds the regressions your averages are hiding.

Pairs baseline and candidate evaluation records by ID, then slices the deltas by any metadata field — language, tier, topic. Seeded bootstrap confidence intervals decide what counts as a real regression, and the gate fails the build when one shows up.

  • Python · stdlib only
  • Bootstrap CIs
  • JSON / Markdown reports

Static analysis for agent tool-call traces.

Inspects recorded agent conversations for protocol violations, malformed arguments, leaked secrets, risky shell commands, call loops, and blown latency budgets — before they surface as production incidents. Every rule is deterministic and explainable.

  • Python · stdlib only
  • SARIF output
  • Typed rule engine

Do the citations actually support the claims?

Splits RAG answers into claims, resolves their inline citations, and scores each claim against the chunks it cites using explainable content-token recall. Uncited claims, invalid references, and fabricated quotes all get flagged — no model calls, no network.

  • Python · stdlib only
  • Support scoring
  • SARIF / JSON reports

Contract tests for MCP servers.

Define expected tool behavior in a JSON scenario; mcp-probe spawns the stdio server, validates the handshake and advertised schemas, runs assertion-based tool calls with latency budgets, and reports in terminal, JSON, or JUnit — ready for any CI pipeline.

  • Python 3.11+
  • JSON-RPC / stdio
  • JUnit reports

AI output is probabilistic.
The checks around it shouldn't be.

Four constraints I hold every tool to — they're what make the results worth trusting.

Local-first

No API keys, no network calls, no data leaving the machine. Evaluation data is often the most sensitive thing a team owns — tools should come to it, not the other way around.

Deterministic

Same input, same output, same exit code — every run. Seeded resampling, explainable scoring, and no "the linter felt different today." If a check can't explain itself, it doesn't ship.

CI-native

Exit codes that gate merges. SARIF for code scanning, JUnit for test dashboards, JSON for everything else. A report nobody reads is decoration; a failing pipeline gets fixed.

Zero lock-in

Python standard library at runtime, minimal dependencies elsewhere. Fewer things to install, fewer things to patch, and nothing that quietly breaks when an SDK bumps a major version.

Boring where it should be,
sharp where it counts.

Languages & data

  • Python 3.11+
  • SQL · PostgreSQL
  • JavaScript
  • R

Backend

  • FastAPI
  • REST API design
  • SQLAlchemy
  • JWT auth flows

Quality & delivery

  • pytest · ruff
  • GitHub Actions
  • Docker
  • Git · Linux

Where the habits come from.

Dec 2024 — May 2025 Istanbul, Turkey

Database Programmer · Ekofin.net

Owned database structure, SQL performance, and automation for operational workflows.

  • Designed and maintained relational table structures.
  • Cut query times through indexing and optimization.
  • Automated recurring database operations with Python and stored procedures.
  • Supported backup, access control, and data-protection practices.
Ongoing Istanbul, Turkey

B.Sc. Management Information Systems · undergraduate

Studying where software, data, and organizations meet — while shipping open-source tooling on the side.

Illustrated portrait of Mert Efe Kurt

Building something that needs to be trusted?

I'm open to backend, tooling, and AI-evaluation work — and always happy to talk about making systems easier to inspect.