Mert builds harnesses for agents.

Hover a word to see how the sentence parses.

I'm an applied AI engineer in Istanbul. I specialise in harness engineering: the runtime, tools, evals and guardrails around a model. Almost all of it in typed Python, almost all of it open source.

I care about how agent runtimes talk to each other, and about tests that fail when something actually breaks. Python was my first language. I also wrote one of my own.

KediMy main project, since 2025

A typed language and runtime for LLM orchestration. Python where you need exact answers, templates where you need a model's judgement.

Profiles, composable capabilities, incremental execution, language-level evals, GEPA-optimizable prompt spans, and a Tree-sitter grammar so editors understand it too.

Recorded session
0:00
1 2 3 4 5 6 7 8 9 10
~Cat(name: str, district: str, mood: str)

@adopt(district: str) -> Cat:
  >> Invent a street cat who lives in <district>, Istanbul. [cat: Cat]
  = `cat`

[districts: list[str]] = `["Kadıköy", "Beyoğlu", "Balat"]`
> loop [district]: `districts`:
  [cat: Cat] = `adopt(district)`
  > show: `f"{cat.name} naps in {cat.district}, feeling {cat.mood}."`
Hover the code to see its Tree-sitter node. These are the real node names from tree-sitter-kedi.
ProjectsOpen source, since 2025

VSH since 2026

A transactional filesystem for agent workspaces. Copy-on-write snapshots, canonical diffs, policy checks and recoverable commits. Rust core, Python SDK.

RustPyO3MCPRepository

Autobench since 2026

YAML-first benchmarks for comparing variants across datasets, with traces, asset lineage and immutable experiment records you can replay.

EvalsYAMLRepository

Pydantic GEPA since 2026

Evolves prompts, agent instructions, tool descriptions and output schemas with Pydantic Evals and GEPA. Checkpoint, resume, inspect.

OptimizationPyPIRepository
agentclient

ACP Kit Maintainer

Connects existing agents to the Agent Client Protocol. Pydantic AI agents become ACP servers without touching their tools, models or streaming.

ProtocolMonorepoRepository
Case studiesEnd-to-end builds, written up with traces and results

Freya Builder

Build the Builder hackathon, October 2026
Problem
Turning long policy documents and API contracts into voice-agent workflows by hand is slow and easy to get wrong.
Approach
Pydantic AI extracts rules and endpoints with their sources attached. The builder generates a workflow, validates it, and AutoBench scores it. GEPA tunes the builder's own guidance.
Result
A platform-validated submission with a deployed bank-service mock and reproducible tests.
policy api extract validated

Deck Validator

End-to-end PowerPoint review system, July 2026
Problem
Reviewing slide decks by eye misses broken layouts, and an LLM-only reviewer is hard to trust.
Approach
Deterministic PPTX and OOXML checks run first. A Pydantic AI LLM/VLM judge, calibrated against annotated examples and traced with Logfire, handles the rest, with a human review step at the end.
Result
A published, redacted implementation with reproducible validation traces and the generated report.
BlogNotes from building things
May 12, 1 min read

Use any ACP server through WebSocket with any ACP client

How to expose any ACP server over WebSocket with acpremote, and connect a remote ACP server to any client with acprouter.

Read the post
All posts