Yearly Pay yearly and get 2 months free on every paid plan. See plans
Sign in Start free

Code kata generator

A practice exercise with test cases, hints ladder, and the model solution hidden at the end.

Run this template ≈ 1,000 Runs

Sample: input → output

Input
Topic
working with dates and timezones
Sample outputMade on 27 October 2026

Kata: Global Meeting Scheduler

Problem Statement

Your company has teams in New York, London, Tokyo, and several other cities. Meeting requests arrive as local date-and-time strings together with their IANA time zones. Your task is to convert each request into a canonical UTC timestamp.

Unfortunately, local times are not always valid or unique:

  • During the spring daylight-saving transition, some local times do not exist.
  • During the autumn transition, some local times occur twice.
  • Time zones may use offsets that are not whole hours.…
Read the full sample →
Run this template The form opens filled with this sample's inputs; change anything.

Similar templates

Sample outputText
Library Management REST API Base URL: https://api.example.com/v1 All request and response bodies use application/json. Dates use ISO 8601 in UTC. Resource IDs are UUIDs. Endpoint Table Books Method Path Purpose Status Codes GET /books List and filter books 200, 400 POST /books Create a book record 201, 400, 409, 422 GET /books/{bookId} Retrieve a book 200, 404 PATCH /books/{bookId} Update book metadata or inventory 200, 400, 404, 409, 422 …
Read the full sample →

REST API designer

Input: a library management API: books, members, loans, reservations

≈ 1,000
Use this
Sample outputText
add(a, b) Adds two values using JavaScript’s + operator. Parameters Name Type Constraints a any None. If either operand is a string, string concatenation may occur. b any None. If either operand is a string, string concatenation may occur. Returns any — The result of evaluating a + b. Errors This function does not explicitly throw errors. JavaScript may throw a TypeError for incompatible operand types, such as mixing a bigint with a number. Example const result = add(2, 3);…
Read the full sample →

API doc writer

Input: function add(a, b) { return a + b; }

≈ 1,000
Use this
Sample outputText
The Cost of Doing Nothing Assumptions Replace these inputs with internal figures as needed: 20 engineers run or wait for CI an average of 2 times per day 220 working days per year Fully loaded engineering cost: $150/hour Current suite duration: 45 minutes Estimated productive time lost per run: 15 minutes due to parallel work, context switching, and delayed feedback 5 flaky-test reruns or investigations per day, averaging 20 minutes each 2 production incidents last quarter traced to untested paths Average incident cost:…
Read the full sample →

Tech debt business case

Input: our test suite takes 45 minutes, flaky tests get skipped, two incidents last quarter traced to untested paths

≈ 1,000
Use this