Project challenges / verified progress
Engineering project paths

The engineering notebook

Throttle - build a safe Go HTTP client

A complete beginner can build and explain a bounded Go client, token and leaky buckets, safe retry policy, observability, and operational tests through sixteen cumulative stages. Completion is not a job-readiness guarantee.

Your learning trail

0 / 16 complete

Verified project-agent submissions only. Reading or clicking cannot unlock progress.

Enter challenge oneStart at the terminal: Go and your first HTTP client3-5 hours

Live workspace

Challenge console

offline
BridgeNot pairedChecksNot runEvidence0 pushed
go-http-foundations: activecontext-timeouts: lockedsafe-json-client: lockedatomic-state: lockedtoken-bucket-basics: lockedtoken-refill: lockedconcurrent-admission: lockedleaky-bucket-basics: lockedleak-scheduling: lockedretry-classification: lockedretry-after: lockedexponential-backoff: lockedjitter-and-budgets: lockedclient-observability: lockedload-and-race-testing: lockedproduction-hardening: locked
throttle / go-http-foundations
$ throttle connect
Pair your local workspace in Setup to stream validation here.

Open Setup and pair this tab to turn the console live.

Your source and command output stay local. The agent sends only bounded status logs and verified receipts.

About this path

Unbounded clients can overload dependencies, leak resources, or duplicate side effects during retries. Build rate controls and retry behavior from first principles, with local behavioral evidence and explicit operating limits.

What you will learn: Go HTTP clients, Rate limiting, Retry backoff, Concurrency, Client observability. Build the project through cumulative challenges with beginner explanations and local verification.

Level
Complete beginner to independently building and operating the project
Format
16 cumulative challenges; plan 4-8 weeks at 8-12 hours per week, including practice, debugging, and a final operational exercise
Before you start
No Go or HTTP experience required. A terminal, text editor, Git, and a supported Go toolchain are introduced in the first stage; the optional paired agent requires Python 3.11+, GitHub CLI, and an authenticated fork.
Official documentation (opens in a new tab)