# Kodefu

Train on real product work. Kodefu is interview practice for product engineers: each task is a product ask with a brief, an existing codebase, acceptance criteria and a twist that unlocks once the first part holds. It runs in the browser, in Python or JavaScript, at https://kodefu.dev.

There are three ways in: practise on your own, prepare with your own agent over MCP, or run hiring assessments for your team.

## Practise

- **Product tasks.** Make payment creation idempotent, stop overselling at checkout, stop losing webhooks, keep a link shortener up at launch. Each one is 35 to 50 minutes and graded on the criteria a reviewer would check.
- **X-ray.** Every run shows what each line did: the values, the branches taken, the calls that repeated.
- **System design canvas.** Drop blocks (clients, CDN, load balancer, API, cache, database, queue, worker) on a canvas, wire them up and press play. Traffic flows through the design and each block shows how it copes, so the bottleneck shows up on its own.
- **Scores and the skill web.** A score out of 100 per attempt, and a web of six skills (API design, concurrency, data modelling, caching, scaling, reliability) that moves with every finished challenge and picks what to drill next.
- **Guided interviews.** The same tasks with an interviewer asking follow-ups as you work, on your own model key or ours on Pro.

Free covers every challenge in the library, scores, the skill web, the assistant on your own model key and 15 scored attempts a day. Pro is $10 a month and in early access through a waitlist: the assistant on our key, a second look at borderline scores and 50 scored attempts a day.

- Library: https://kodefu.dev/library
- A challenge: https://kodefu.dev/c/idempotent-payments
- Every public challenge as JSON (id, title, level, duration, languages, skills): https://api.kodefu.dev/challenges
- Plans: https://kodefu.dev/plans

## Prepare with your agent (MCP)

Kodefu has a remote MCP server, so your own agent (Claude Code, Claude Desktop or any MCP client) can work with the library and your team's challenges.

1. Sign in at https://kodefu.dev/signin and open **Settings → Agent access**.
2. Make a personal token (`kf_pat_…`). It is shown once and acts as you.
3. Point your agent at `https://api.kodefu.dev/mcp` (Streamable HTTP) with `Authorization: Bearer kf_pat_…`.

Claude Code:

```sh
claude mcp add --transport http kodefu https://api.kodefu.dev/mcp --header "Authorization: Bearer kf_pat_…"
```

Claude Desktop, through `mcp-remote` in `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "kodefu": {
      "command": "npx",
      "args": ["mcp-remote", "https://api.kodefu.dev/mcp", "--header", "Authorization:${KODEFU_TOKEN}"],
      "env": { "KODEFU_TOKEN": "Bearer kf_pat_…" }
    }
  }
}
```

With it, an agent can read the authoring guide and a worked example, list the library, draft a challenge for your team, check it (static rules, then one sandbox run of a reference and a naive solution), save it privately for the team, create an assessment and add candidates. Invites are emailed only when you ask. Revoking a token in Settings stops it at once.

## Hire

Hiring teams run the same tasks as assessments.

- Use a library challenge, or one your team wrote with the editor or through MCP. Team challenges stay private to the team.
- Set the time limit and whether the assistant is on. Candidates see the setting.
- Add candidates in a batch and send invites one by one. Each candidate gets a link, a timer and nothing else from the app.
- Review submissions with criteria, a replay and notes, compare candidates side by side, and share a result by link.
- Owners and admins manage challenges and assessments; interviewers can read.

Hiring teams are in early access with Pro. Join the waitlist at https://kodefu.dev/plans and say you want a team.

## Links

- Site: https://kodefu.dev
- Library: https://kodefu.dev/library
- Sign in (email link): https://kodefu.dev/signin
- MCP endpoint: https://api.kodefu.dev/mcp
- Short index for agents: https://kodefu.dev/llms.txt
