Convex Stack Bootcamp
A 7-day, checkpointed curriculum for the Convex stack โ plus the Claude Code skill that generates one for any fast-moving framework.
#๐ Read it online โ blackphoenixslo.github.io/convex-stack-bootcamp
Light and dark themes, syntax highlighting, and checkpoint progress saved in your browser. Everything is also readable as Markdown right here in the repo.
Two things live here:
curriculum/โ a complete, opinionated 7-day course. Written to be worked through, not skimmed.SKILL.mdโ a Claude Code skill that builds a bootcamp like this one for any framework, docs-verified.
#Why this exists
Convex's API moved. ctx.db.get(id) became ctx.db.get("tasks", id).
That one change silently invalidates the database code in essentially every video tutorial published before it โ including the genuinely excellent ones. A beginner copies a 2024 crash course, TypeScript rejects it, and they conclude they've misunderstood something fundamental. They haven't. The ecosystem moved and the videos didn't.
So this curriculum does something most don't: every line of syntax in it was verified against the live Convex docs, and each video is labelled with what it predates. You get the workflow from the video and the syntax from the cheatsheet, and you're told exactly why.
That gap โ between what tutorials say and what the docs say โ is treated as a teaching opportunity rather than an embarrassment. Learning to notice it is worth more than any individual API fact.
#The curriculum
| Day | Topic | The one idea |
|---|---|---|
| 1 | The mental model | The database pushes; you don't poll |
| 2 | Schema & indexes | An index is a decision made when you design the table |
| 3 | Queries, mutations, reactivity | A mutation is a transaction; reactivity is a consequence |
| 4 | Actions, scheduling, crons | Determinism is the line: cross it and you lose transactions |
| 5 | Auth & access control | Every public function is a public HTTP endpoint |
| 6 | Next.js App Router | SSR and liveness are two different asks |
| 7 | Production | Correct at 50 rows is not a claim about 500,000 |
Start here โ curriculum/README.md
#Reference
reference/api-cheatsheet.mdโ the current API, verified against live docs. Where a video and this file disagree, this file is closer.reference/gotchas.mdโ 12 traps as symptom โ cause โ fix, ordered by how much time they cost.reference/videos.mdโ the curated video list. Every URL resolved from a live search; every one labelled for API drift.
#How it teaches
Concept before syntax. Day 1 writes no application code. People bounce off Convex because their Postgres-and-REST instincts don't fit, not because the API is hard.
One video per day, maximum. Positioned after the reading and before the build: "watch if fuzzy, then go build." Watching is not learning.
Deliberate-bug drills. Days 2, 4, 5 and 6 walk you into the most expensive production traps on purpose, under controlled conditions:
- write the
.filter()version, seed 2,000 rows, measure it, then delete it - make a mutation throw halfway and confirm neither write landed
- delete another user's data from the browser console โ then add the check that stops you
- swap
preloadQueryforfetchQueryand watch the page silently stop updating
Every one of these is silent or slow in development and expensive in production. A bug you caused yourself is worth ten warnings you read.
Blind checkpoints. Each day ends with five questions and no answers on the page. Two or more misses means redo the build task. It's the only honest signal you have.
Symptom-shaped questions. Quick checks ask "renders correctly, never updates โ where do
you look first?" rather than "what does preloadQuery do?" โ because the first is the
form you'll actually meet the knowledge in.
Honest about the tradeoffs. Day 1 has a "what you give up" section: the hosted-platform dependency, no SQL, and the way the reactive model punishes over-broad queries harder than a request/response model would. Convex Auth is presented with its beta warning quoted verbatim. A curriculum that only sells is a brochure.
#The skill
SKILL.md is the reusable process โ how to build a docs-verified bootcamp for
any framework that ships faster than its tutorials.
mkdir -p ~/.claude/skills/convex-bootcamp
curl -fsSL https://raw.githubusercontent.com/BlackPhoenixSlo/convex-stack-bootcamp/main/SKILL.md \
-o ~/.claude/skills/convex-bootcamp/SKILL.mdThen in Claude Code:
/convex-bootcamp new convex # verify the API, curate sources, publish the plan
/convex-bootcamp day 1 # build and teach one day
/convex-bootcamp verify # re-check the docs, report what drifted
/convex-bootcamp status # where am I, what's banked, what's staleIts load-bearing rule is Phase 0: verify before you teach. Fetch the canonical docs and quote them verbatim before writing a single line of curriculum. Model memory is confidently wrong about fast-moving APIs, and a summary launders the error. It retargets to any stack by swapping the doc list and finding that stack's drift line โ the API change that invalidates its existing tutorials.
Companion to claude-exam-prep-skill,
which does the same thing for cramming an exam from a folder of course materials.
#Prerequisites
TypeScript you can read without flinching, React with hooks, a terminal. No SQL needed โ and if you have a lot of it, budget extra attention for Day 1.
npm create convex@latest#Contributing
Corrections are welcome, especially API drift โ Convex ships fast and this will age. Please include a link to the docs page that supports the change. Broken video links: open an issue rather than substituting a guessed URL.
#License
MIT โ see LICENSE.