Find a structured project tutorial after mastering language basics to level up your skills.
Learn how a technology works by following a guide that walks you through building it from scratch.
Discover a meaningful side project to keep your programming abilities sharp and engaged.
This repository is a curated list of project-based programming tutorials, aimed at aspiring developers who want to learn by actually building an application from scratch rather than only reading theory. The README explains the format upfront: each entry is a link to a tutorial that walks you through building something concrete, and tutorials are grouped by their primary programming language even though many of them touch several technologies. To contribute, you fork the repo and follow the contribution guide. The table of contents is the spine of the repo. It lists languages alphabetically and gives each its own section: C#, C/C++, Clojure, Dart, Elixir, Erlang, F#, Go, Haskell, HTML/CSS, Java, JavaScript, Kotlin, Lua, OCaml, PHP, Python, R, Ruby, Rust, Scala, and Swift, with an extra Additional resources section at the end. Inside each language section is a flat list of named tutorials with direct links to the article, book, or repo that hosts the lesson. The C/C++ section, for example, points at Crafting Interpreters, a write-a-shell-in-C walk-through, a memory-allocator tutorial, a small text editor (Kilo), a build-your-own-Lisp book, a CHIP-8 emulator tutorial, an NES game in C, FUSE filesystem and kernel tutorials, a tiny renderer, a tiny ray tracer, a key-value store, a Redis clone, a hash table in C, a multi-part write-a-C-compiler series, a Linux container in 500 lines, and a multi-part Linux debugger series. You would use this repo when you have picked a language and want to build something real to cement what you have learned. The flat structure makes it easy to scan: pick your language, scroll the list, and click into the project that looks fun or relevant. The repo itself contains no runnable code, it is a Markdown index whose value is the careful selection of external tutorials it points to.
This repo across BitVibe Labs
Verify against the repo before relying on details.