A bilingual learning site that bridges the languages you
already know to the ones you want next. Side-by-side
translation, multiple choice, fill-in-the-tile, and
code-runner exercises — scaffolded so you build real
intuition, not just syntax recognition.
the wedge
users.tsTS
type User = {
id: string;
name: string;
};
function greet(u: User) {
return `hi ${u.name}`;
}
users.goGO
type User struct {
ID string
Name string
}
func greet(u User) string {
return "hi " + u.Name
}
Each lesson presents the source language and its target counterpart, then asks you to identify, translate, or write the equivalent.
tracks
Go for TypeScript devs
ready
Module 1 (Foundations) ships 58 exercises
across 6 themes — variables, numeric primitives,
strings, conditionals, loops, functions and multi-return. Modules 2-7
cover collections, types, interfaces, errors, concurrency, and idioms.
Modules 1–4 (basics, types, memory, errors) ship 180
exercises across 20themes, graded by the real
self-hosted Zig compiler running in a Web Worker. Modules 5–7
(comptime, stdlib, idioms) follow.
1. Basics · ready
2. Types · ready
3. Memory · ready
4. Errors · ready
5–7. Comptime, stdlib, idioms · soon
Rust for TypeScript devs
soon
A future track. Same bilingual progression — same
recognition → fill-in → freeform shape — for the
ownership / borrowing / lifetime moves Rust asks of you.
(Status: no embeddable Rust interpreter exists yet, so a
client-side runtime is on hold.)
proposed; blocked on runtime feasibility
typeover · 2026 · built with astro + solid + tailwind