Static · learning-first · calibrated to you

Learn top-tier tech by building real things.

Pick a skill level and a stack. Every step is one plain instruction on the surface — and expands, on demand, into the concept, the exact commands, and — if you want it — a ready-to-paste AI prompt with tests.

6 guided projects 15 tech tracks 3 skill levels $0 to complete

A real step — open only the depth you want

Create the Go module for your API

Beginner
Make a new folder and initialise a Go module — this is the root of your service.
Why a module, and why this name
A *module* is Go's unit of dependency management; the path you give it (usually a repo URL) becomes the import prefix for every package inside. Picking it now saves a painful rename later.
Initialise the module
Run these in your terminal / editor
mkdir aurora-api && cd aurora-api
go mod init github.com/you/aurora-api
go version
Agent prompt — paste into an agent with repo access

Before you run it — what should `curl localhost:8080/healthz` return once the agent is done?

For Claude Code / Cursor / an agent that can read & edit this repo.
Role: Senior Go engineer working in this repo.
Context: Empty directory; Go 1.22+. We are starting an HTTP API for an e-commerce app.
Task: Scaffold a minimal, idiomatic Go HTTP server.
Requirements:
- module path github.com/you/aurora-api
- net/http only (no framework yet); a /healthz route returning 200 "ok"
- graceful shutdown on SIGINT/SIGTERM
- main in ./cmd/api, no global state
Tests / acceptance:
- `go vet ./...` and `go build ./...` pass
- `curl localhost:8080/healthz` returns 200 "ok"
Output: a unified diff plus a one-paragraph summary.
What success looks like
`go build ./...` passes and `curl localhost:8080/healthz` returns 200 with body `ok`.

Every track teaches four things

Not just how — when and why

The logic

The mental model first — what the tool is for and why it beats the alternative. You learn judgement, not just syntax.

The implementation

Exact, runnable commands and code. The happy path works; the edge cases are called out where they bite.

Optional AI prompts

Prefer to pair with an AI? Every code step also ships a precise prompt — role, context, requirements, runnable tests — ready to hand to an agent. Or just build it yourself.

How to think

When to reach for each tool, and why. The rating system shows which tech genuinely wins each kind of build.

Start opinionated, then personalise

The default stack

A curated, top-tier default so you don't stall on tool choice. Swap any lane on the Start page.

Alternatives are first-class: Rust · TypeScript · Python · Kotlin · MongoDB · Redis · SwiftUI · Flutter · Cloudflare · AWS.

The building blocks

15 tech tracks to go deep

Single-path deep dives into every language, database, and tool the projects lean on — study one on its own, or follow where a project sends you.

Browse all 15 tech tracks →

Curated courses

Build something real

Each project spotlights a technology used for what it's genuinely best at — proven by the per-project rating.

Which tech wins each project? See the ratings →