Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/practical-tutorials/project-based-learning/llms.txt

Use this file to discover all available pages before exploring further.

Project Based Learning is a community-curated collection of programming tutorials where you learn by building real applications from scratch. Rather than passively reading documentation or watching lectures, you construct something tangible — a web app, a compiler, an operating system, a game — and absorb the language or technology as a natural side effect of doing. With over 271,000 GitHub stars and contributions from developers around the world, this list has grown into one of the most trusted starting points for hands-on learning, spanning 20+ programming languages and dozens of technology stacks.

What You’ll Find Here

Every tutorial in this collection results in a working project. Browse by the domain that interests you most, then dive into the language you want to learn.

Systems & Low-Level

Build operating systems, compilers, interpreters, memory allocators, emulators, and debuggers in C/C++, Rust, Haskell, OCaml, and more.

Web Development

Create full-stack web apps, REST APIs, real-time chat systems, and browser extensions with JavaScript, Python, Go, Ruby, PHP, and others.

Data Science & ML

Train neural networks, build recommender systems, run sentiment analysis, and work with computer vision using Python, R, and Scala.

Mobile & Desktop

Ship Android and iOS apps, Flutter clones of popular platforms, and native desktop applications with Kotlin, Swift, Dart, and JavaScript.

Who Is This For?

Project Based Learning serves developers at every stage. Whether you are picking up your first language or your tenth, there is a project here sized to your current skill level.
If you are new to programming or exploring a language for the first time, start with something you will actually enjoy finishing. Good entry points include:The key for beginners is choosing a project whose output excites you. If you want to see a game on screen, start with a game tutorial. If you want a website, start there.

Languages Covered

The catalog is organized by primary programming language. Each section may contain tutorials that touch additional languages or frameworks, but every entry lives under the language doing the heaviest lifting.
  • C / C++
  • C#
  • Clojure
  • Dart
  • Elixir
  • Erlang
  • F#
  • Go
  • Haskell
  • HTML / CSS
  • Java
  • JavaScript
  • Kotlin
  • Lua
  • OCaml
  • PHP
  • Python
  • R
  • Ruby
  • Rust
  • Scala
  • Swift

About This Project

Project Based Learning is an open-source, community-driven resource maintained on GitHub under the MIT license. It was started to solve a simple problem: most learning resources teach syntax, but few teach you how to actually build something. Every tutorial in the list was contributed by a developer who found it genuinely useful. The project welcomes contributions from anyone. If you have followed a great project-based tutorial that isn’t listed yet, you can open a pull request to add it. See the Contributing page for formatting rules and submission guidelines.

Build docs developers (and LLMs) love