Skip to content

Product notes

Product updates, new challenges, and improvements, newest first.

Guidance when opening a later stage

Opening a stage before you were ready showed a prompt explaining where to start.

Paul Kuruvilla

Concise code examples and voting

Find highlighted short implementations, vote on examples, and browse them with less page slowdown.

Paul Kuruvilla

HTTP compression

Extend your HTTP server to compress responses.

Ryan

TCP Servers in Python

Learn to write a TCP server using Python's socket library.

Rafey Ahmad

Understand Redis’s wire protocol

A new interactive RESP concept explains how Redis clients and servers encode commands and replies.

Rafey Ahmad

Build SQLite in Gleam

Gleam support expanded to the SQLite challenge.

RyanPaul Kuruvilla

TypeScript across the challenge catalog

TypeScript support expanded from Redis to the other available challenges, including DNS, with Bun and external packages.

Lib Joshua MartinitoRyan

Tests start on the next stage

Completing a stage automatically started tests for the next one, allowing already-working implementations to progress quickly.

Paul Kuruvilla

Submit from the CLI without Git

The new submit command lets you complete a stage without a separate git add, commit, and push cycle.

Paul Kuruvilla

JavaScript package support

Use npm packages in JavaScript implementations across the available challenges.

Ryan

Test the current stage first

Test runs began checking the current stage before earlier stages to return relevant feedback sooner.

Paul Kuruvilla

Choose when to complete a stage

Passing tests no longer moved you on automatically, leaving time to refactor before marking a stage complete.

Paul Kuruvilla
CodeCrafters

Reading is good.
Doing is better.

Build your own Claude Code, Shell, or SQLite. Understand what’s underneath.