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. The README explains it is "a list of programming tutorials in which aspiring software developers learn how to build an application from scratch," with entries grouped by primary programming language. The premise is that the most effective way to learn is to actually build something, so instead of pointing readers at general documentation, this list points them at step-by-step guides for completed mini-projects.
The way it works is that the README is a long index of links, organized by language: C#, C and C++, Clojure, Dart, Elixir, Erlang, F#, Go, Haskell, HTML and CSS, Java, JavaScript, Kotlin, Lua, OCaml, PHP, Python, R, Ruby, Rust, Scala, and Swift, plus a section for additional resources. Within each language, entries link out to articles, blog series, and free books that walk through building a specific thing from scratch — for example, build an interpreter, write a shell, build a text editor, build a Lisp, write an OS, build an emulator, write a hash table, build a simple database, write a C compiler, code a TCP/IP stack, write a Linux debugger, and many more. Multi-part tutorial series are listed with each part linked separately, so a reader can see the full arc before committing.
Someone would use this when they have already learned the basics of a language and want a meaningful next step, when they want to deeply understand a particular technology by re-implementing it, or when they need a structured side project to keep their skills sharp. The repository itself is a Markdown index — it does not contain the tutorial content, only links. The full README is longer than what was provided.
Generated 2026-05-18 · Model: sonnet-4-6 · double-check against the repo, no cap.