Go Mastery 7: Projects That Prove Mastery
/ 1 min read
Table of Contents
Level 1: Consolidation
- CLI todo app: file storage (JSON), subcommands, tests
- Word frequency counter: concurrent file reading
- URL shortener: HTTP + in-memory map, then add a DB
Level 2: Intermediate
- Concurrent web crawler: worker pool,
context, depth and rate limit - REST API with Postgres: users, auth (JWT), CRUD,
sqlc, migrations, tests - Chat server: WebSockets, rooms, broadcast with goroutines/channels
- Rate limiter library: token bucket and sliding window, generic, benchmarked
Level 3: Advanced
- In-memory key-value store (mini Redis): TCP server, RESP protocol, TTLs, persistence
- Job queue / task scheduler: workers, retries, backoff, persistence
- Load balancer / reverse proxy: round-robin, health checks,
httputil.ReverseProxy - Distributed key-value store: Raft (see Hashicorp
raftor MIT 6.5840 labs)
Level 4: Mastery
- Write your own interpreter: Writing an Interpreter in Go by Thorsten Ball
- Contribute to open source: start with
good first issuein Go projects (Hugo, Cobra, Caddy, Gitea, Prometheus, etc.) - Publish a library with docs, tests, semver tags, and CI
Visual: progression
flowchart LR L1["Level 1<br/>CLI, counter, shortener"] --> L2["Level 2<br/>crawler, REST API, chat"] L2 --> L3["Level 3<br/>mini Redis, queue, proxy"] L3 --> L4["Level 4<br/>interpreter, open source"]
Portfolio rules
- Every project: README, tests, CI,
go vetclean,-raceclean - Write at least one benchmark and one fuzz test
- Document design decisions
Previous: Go Mastery 6: Backend and Production Go
Next: Go Mastery 8: Resources and Final Checklist