Pick a language. Pick something to build.

303 tutorials where you learn by making a real thing from scratch, from a to-do app to a C compiler or a kernel. The grid counts them for 22 languages; tap a square to see the tutorials behind it.

Browse by category

C/C++38Network programming in C/C++, OpenGL in C++C#5C# projects: a text RPG, a roguelike, Xamarin apps and an ASP.NET Core wikiClojure5Clojure projects: a Twitter bot, a spell checker, a JIRA add-on and TetrisDart13FlutterElixir2Build a chat app and a fast link shortener with Elixir and PhoenixErlang2Build multi-user chat rooms with Erlang/OTP, Rebar and CowboyF#1Write a small Excel-like spreadsheet in about 100 lines of F#Java4Java projects: a tree-walking interpreter, an HTTP server, Spring Boot and AndroidJavaScript59React Native, React, Next.js, Angular, Node.js, Vue.js, PWAs, Hapi and Express, D3.js, JavaScript games, Electron, JavaScript internalsHTML and CSS3Beginner builds with HTML, CSS and a little JavaScript: calculator, loader, SnakeKotlin1Learn Kotlin by building Keddit, a Reddit client for AndroidLua1LÖVEPython102Web scraping with Python, Python web apps, Python bots, Data science with Python, Machine learning with Python, OpenCV, Deep learning with Python, More Python projectsGo13Go projects: a blockchain, a BitTorrent client, REST servers, chat apps and containersPHP7PHP projects: a pure PHP blog, Laravel apps and a SilverStripe real estate siteOCaml2Implement a language with LLVM and write a Game Boy emulator in OCamlRuby7Ruby on RailsHaskell6Haskell projects: Scheme interpreters, a compiler, an IRC bot and a video playerR3R projects: Shiny web apps, a crypto trading bot and association rule miningRust11Rust projects: an OS kernel, browser engine, NES emulator and text editorScala2Build an actor-based blockchain and a regular expression engine in ScalaSwift4Swift projects: Hacking with Swift, SwiftUI apps, Stanford CS193p and a retro shooterLearning platforms12Sites with many project-based courses: CodeCrafters, Exercism, NodeSchool, Egghead
Esc

Type to search every entry. ↑↓ to move, Enter to open.