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 list of tutorials that teach programming through hands-on project construction. Instead of isolated exercises, each tutorial guides you through building a complete, working application — from a shell or OS kernel in C, to a full-stack web app in Python or JavaScript, to a mobile app in Flutter. With over 271,000 GitHub stars, it’s one of the most trusted learning resources in the developer community.

How to Use This Site

Learn how to navigate the tutorial catalog and pick the right project for your skill level.

Systems & Low-Level

Build compilers, operating systems, emulators, and networking stacks in C/C++, Rust, and Go.

Web Development

Build full-stack apps with JavaScript, Python, PHP, and Ruby across React, Node, Django, and more.

Data Science & ML

Train neural networks, build computer vision pipelines, and create data science projects in Python.

Mobile & Desktop

Build iOS, Android, and desktop apps with Flutter, Swift, and Kotlin.

Contributing

Add your own tutorials and help grow this community resource.

Browse by Language

C / C++

Compilers, OS, emulators, graphics

Rust

OS, WASM, browser engine, games

Go

Web apps, blockchain, microservices

JavaScript

React, Vue, Node.js, D3, games

Python

Flask, Django, bots, data science

Flutter / Dart

Full-featured app clones

Swift

iOS projects, retro engines

Java

Interpreters, HTTP servers, Android

More Languages

Haskell, Elixir, Clojure, Ruby, PHP, and more

What is Project-Based Learning?

1

Choose a project

Browse tutorials by programming language or topic. Each entry links to an external tutorial that walks you through building a specific project from scratch.
2

Follow along and build

Work through the tutorial step by step, writing real code. You’ll build something tangible — a database, a chat app, a game engine — not just read about concepts.
3

Extend and experiment

Once you’ve finished the tutorial, the project is yours. Add features, refactor the code, or port it to a new language to deepen your understanding.
4

Share and contribute

Found a great tutorial that isn’t listed? Open a pull request to add it. The list is community-maintained and always growing.
All tutorials in this list are hosted externally. Project Based Learning is a curated index — clicking any tutorial link will take you to the original author’s site, blog, or video.

Build docs developers (and LLMs) love