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
Verified project-agent submissions only. Reading or clicking cannot unlock progress.
Live workspace
Challenge console
$ 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.
