Table of Contents
Go Projects Track¶
A progressively harder portfolio of Go projects. Each one is a self-contained
spec (SPEC.md) you can build end-to-end. Work them in order: every project
introduces a small number of new concepts while reusing the foundations from the
previous one. By the end you will have a production-grade SaaS backend and a set
of resume-ready talking points.
How to use this track¶
- Read the project's
SPEC.mdtop to bottom before writing code. - Treat the Implementation Milestones checklist as your sprint board.
- Finish each project with the Lessons-Learned prompts and the Portfolio & Resume subsection — that is where the interview value lives.
- Don't skip the Testing Strategy. The difference between a "tutorial repo" and a portfolio piece is tests, CI, and docs.
Index¶
| # | Project | Level | Core skills | Est. time |
|---|---|---|---|---|
| 01 | CLI Todo | Beginner | flag/cobra, JSON persistence, structs, slices, error handling |
1–2 days |
| 02 | URL Shortener | Beginner+ | net/http, REST handlers, in-memory store → SQLite, interfaces |
2–4 days |
| 03 | Bookstore REST API | Intermediate | chi, PostgreSQL (pgx/sqlc), migrations, layered architecture, slog, table-driven tests + httptest |
1 week |
| 04 | Concurrent Web Crawler | Intermediate | goroutines, channels, worker pools, context cancellation, rate limiting, graceful shutdown |
4–6 days |
| 05 | gRPC Microservice | Advanced | gRPC + protobuf, interceptors, grpc-gateway, hexagonal architecture, DI | 1–2 weeks |
| 06 | Redis Job Queue | Advanced | Redis-backed queue, retries, dead-letter, backoff, Prometheus metrics | 1–2 weeks |
| 07 | SaaS Backend Capstone | Production | Multi-tenant REST+gRPC, Postgres, Redis, JWT/RBAC, hexagonal + DI, observability (metrics/tracing), Docker, CI/CD, testcontainers, ADRs | 3–6 weeks |
How each project maps to portfolio / resume value¶
| Project | What it proves to a hiring manager |
|---|---|
| 01 CLI Todo | You can ship a complete, tested Go program with clean error handling and a real CLI UX. Good "first commit" on a public profile. |
| 02 URL Shortener | You understand HTTP servers, REST semantics, and how to hide storage behind an interface (swap in-memory → SQLite with zero handler changes). |
| 03 Bookstore API | The classic backend interview project: layered architecture, real SQL + migrations, validation, structured logging, and a genuine test suite. This is the single highest-ROI project for backend roles. |
| 04 Web Crawler | Demonstrates Go's headline feature — concurrency — done correctly: bounded parallelism, cancellation, no goroutine leaks, graceful shutdown. A frequent live-coding topic. |
| 05 gRPC Microservice | Shows you can work in a microservices/platform org: contract-first APIs, interceptors for cross-cutting concerns, and ports-and-adapters design. |
| 06 Redis Job Queue | Async/background processing is everywhere in production. Retries, idempotency, dead-letter queues, and metrics show systems maturity. |
| 07 SaaS Capstone | The flagship repo. It hits nearly every line item on a senior backend job description and gives you 6–8 distinct stories for system-design and behavioral interviews. |
Tip: pin projects 03, 04, and 07 on your GitHub profile. They cover the "CRUD + SQL", "concurrency", and "full production system" stories that almost every backend interview probes.