InteractiveFrameworks

85 interactive lessons · free

Learn backend frameworks by writing the backend.

Not videos. Not snippets to copy. Every lesson is an exercise you complete in a real editor, and it is graded by sending real requests to the server you just wrote, running in this tab.

Nothing to install and nothing to sign up for. Your progress and your code stay in this browser.

lessons
85
frameworks
2
courses
9
install steps
0
price
free
runs in
your browser

Curriculum

85 lessons across 9 courses. Start anywhere.

NestJS

Build a real backend for NestJS in your browser: modules, controllers, providers, dependency injection, pipes, guards and interceptors, graded by calling your endpoints.

Hono

Build a web API for Hono in your browser: routing, the context, middleware, validation, errors, cookies and streaming, on the same fetch handler you would deploy to Cloudflare Workers, Bun, Deno or Node, graded by calling your routes.

Why this beats reading the docs

runtime
A real server, not a simulation. The framework you are learning is the published package, compiled and booted in a worker in your tab, answering real requests.
grading
Every exercise declares the requests that must pass and what each one proves. Write the code, press Run, and be told exactly which response was wrong.
errors
You get the framework’s own messages. A missing provider fails with the dependency error you would see from the CLI, on the line you wrote.
types
The editor type-checks against the real declarations, so a type error blocks Run the way a build would. No lesson can be passed with code that would not compile.
setup
None. No Node install, no package manager, no version conflicts. Open a lesson and the runtime is already there.
projects
Lessons grow one application across a whole course, with modules, a database, tests and authentication, rather than restarting from a snippet each time.

How it works

1. Write

A lesson opens as a small project across several files, with the editor and its type checking already knowing the framework's declarations.

2. Run

Your code is compiled in the tab and the application boots in a worker, printing the same startup log it would print in a terminal.

3. Be graded

Requests go to your running server and the responses are checked. Some lessons run your own tests instead, and grade the bugs they catch.