What do you want to practice?
Every language and framework gets the same treatment: a worked example on the left, its twin for you to solve on the right, and tests that tell you straight away.
Languages
- JavaScript: Closures, arrays, async and the rest of the everyday language. Topics: Strings, Arrays, Objects, Functions, Async, Practical.
- TypeScript: The same exercises with types, plus generics and narrowing of their own. Topics: Strings, Arrays, Objects, Functions, Async, Practical, TypeScript.
- HTML & CSS: Layout, forms and accessibility: your own browser renders the page and the tests measure it. Topics: Semantic HTML, Forms, Accessibility, Box model & units, Flexbox, Grid, Responsive, Positioning & stacking.
- Python: Comprehensions, iterators and the standard library, run in your browser. Topics: Strings, Lists & Comprehensions, Dicts & Sets, Functions & Decorators, Iterators & Generators, Classes & Dataclasses, Errors & Context Managers, Practical.
- SQL: Joins, grouping and window functions against a real in-browser database. Topics: Select & Filter, Aggregation, Joins, Subqueries & CTEs, Window Functions, Strings, Dates & CASE, Modifying Data, Schema Design.
- Rust: Ownership, traits and iterators, compiled on a sandboxed runner. Topics: Strings, Vectors & Slices, Structs & Enums, Ownership & Borrowing, Closures & Iterators, Option & Result, Practical, Traits & Generics.
- C#: LINQ, records and async, compiled on .NET 9 with real IntelliSense. Topics: Strings, Collections & LINQ, Dictionaries & Sets, Classes & Records, Delegates & Iterators, Exceptions & Disposal, Async & Generics, Practical.
- Java: Collections, streams, records and sealed types, compiled on JDK 21 on a sandboxed runner. Topics: Strings, Collections, Streams & lambdas, Records, classes & interfaces, Generics & Optional, Exceptions & validation, Algorithms & recursion, Modern Java.
Frameworks & libraries
- Angular: Standalone components, signals and the new control flow, rendered and tested in your browser. Topics: Components & templates, Signals, Inputs & outputs, Dependency injection, Pipes & directives, Forms, RxJS interop, HttpClient.
- RxJS: Operators, timing and flattening strategies, checked against marble diagrams in your browser. Topics: Creating observables, Transforming, Filtering, Timing, Combining, Flattening, Errors & completion, Subjects & sharing.
- React: Components, hooks, context and the React 19 Actions, rendered and tested in your browser. Topics: Components & JSX, State, Effects & refs, Custom hooks, Context & reducers, Performance, React 19, Patterns.
- Vue: The Composition API: refs, computed, watchers, props, slots and composables, mounted in your browser. Topics: Templates & reactivity, Computed & watchers, Props & events, Lifecycle & refs, Composables, Provide, inject & stores, Slots & dynamic components, Patterns.