Servly is a working Go service built on net/http. Its sprint goal is to harden the public API before launch, and three bugs stand in the way. You take a ticket at standup, fix it in the actual codebase, and open a GitHub pull request. An AI teammate reviews the diff, and a hidden go test suite decides whether the fix holds.
Real GitHub PRs · Graded by go test · Free during beta
You work in a Go codebase someone else wrote. Each ticket reads like a real bug report, with acceptance criteria and a teammate you can ask for help. The sprint also puts you on call for a day, where you read the logs and recent deploys to name what broke.
The collection endpoint never applies limit or offset to its query, so every request returns the full table. To pass, ?limit=20 has to return at most 20 records, a sensible default has to apply when limit is missing, and offset has to return the next slice of records.
The middleware checks the token signature and never looks at the exp claim, so a token that expired hours ago still gets in. To pass, an expired token has to get a 401 while a valid, unexpired token still authenticates.
The limiter keeps one shared bucket for the whole service, so a single noisy client can throttle everyone else. To pass, limits have to apply per API key, one key hitting its limit can't affect other keys, and each key's window has to reset on its own.
Each Servly ticket comes with a hidden Go test file that is added to your branch when it's graded. The result shows up on your pull request as a check, the same way CI gates a merge on a real team.
Servly assumes you can already read and write Go. It tests whether you can find and fix a bug in a service you didn't write.
Developers moving into Go from another backend language who want real Go work to point to.
Bootcamp grads and self-taught devs whose projects have never had a code review.
Anyone preparing for backend interviews who would rather talk about a rate limiter they fixed than a tutorial they followed.
Juniors who want to see what pagination, auth and rate limiting bugs look like in practice before they meet them at work.
Not for: people who haven't written Go before. Servly is a debugging exercise in an existing service, so start with the language basics first.
Go 1.25 or newer if you work locally. Every Servly repo also opens in GitHub Codespaces, so you can do the whole sprint in the browser instead.
An AI teammate reviews the diff in the PR thread and can ask for changes. Whether the fix is correct is decided separately by the hidden go test suite.
You see the failing test output on the pull request. Push a new commit and the check runs again, as it would against CI at work.
LeetCode gives you a function to write from nothing. Servly gives you a running service, a bug report and a reviewer, which is what most of a backend job looks like.
Yes. When you finish the sprint you get a certificate listing the stack, the tickets you shipped and your tracked hours, with a public link anyone can check.
It's free during the beta.