One of the most powerful things about project-based learning is that great project ideas transcend any single programming language. Building a compiler, a blockchain, or a Redis clone in C teaches you systems thinking; tackling the same project again in Python or Rust reveals how language design shapes the solutions you reach for. This page reorganises the tutorial collection by topic rather than language, so you can explore every available tutorial on a subject — whether you want to survey approaches across ecosystems, compare implementations, or simply find the version that suits your current skill level.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.
Compilers & Interpreters
Build Your Own Compiler or Interpreter
Build Your Own Compiler or Interpreter
- Build an Interpreter — Crafting Interpreters (C, Chapters 14+)
- Build an Interpreter — Crafting Interpreters (Java, Chapters 4–13)
- Write a C Compiler (C)
- Let’s Write a Compiler (C)
- Write You a Haskell — Build a modern functional compiler (Haskell)
- Write Yourself a Scheme in 48 Hours (Haskell)
- Write You A Scheme, Version 2 (Haskell)
- Implementing a Language with LLVM — Kaleidoscope (C++)
- Implement a Language with LLVM in OCaml
- Build a Simple Interpreter (Python)
- A Python Implementation of a Python Bytecode Runner
Operating Systems & Kernels
Write Your Own OS, Kernel, or Bootloader
Write Your Own OS, Kernel, or Bootloader
Blockchain & Distributed Systems
Build a Blockchain or Distributed Protocol
Build a Blockchain or Distributed Protocol
- Building Blockchain in Go (7-part series)
- Build a Simple Blockchain in Python
- Simple Actor-Based Blockchain (Scala)
- Building a BitTorrent Client from the Ground Up in Go
Databases & Key-Value Stores
Build a Database, Key-Value Store, or Redis Clone
Build a Database, Key-Value Store, or Redis Clone
- Let’s Build a Simple Database (C)
- Implementing a Key-Value Store (C)
- Write a NoSQL Database in Python
- Build Your Own Redis with C/C++
- Build Your Own Redis (Ruby)
- REST API Servers in Go with PostgreSQL
Chat Applications & Real-Time Systems
Build a Chat App or Real-Time Messaging Service
Build a Chat App or Real-Time Messaging Service
- Create a Real Time Chat App with Golang, Angular 2, and WebSocket (Go)
- Rust in Detail: Writing Scalable Chat Service from Scratch (Rust)
- Build a Desktop Chat App with React and Electron (JavaScript)
- Building a Chat Application in Go with ReactJS
- Building Realtime Chat App with Laravel 5.4 and VueJS (PHP)
- Make a Chat Application with React, Redux, Redux-Saga and WebSockets (JavaScript)
- Realtime Chat App with Vue, django-notifs, RabbitMQ and uWSGI (Python)
- MQTT Broker from Scratch (C)
- ChatBus: Build Your First Multi-User Chat Room App with Erlang/OTP
- Making a Chat App with Erlang, Rebar, Cowboy and Bullet
Web Scrapers & Bots
Build a Web Scraper, Bot, or Automation Tool
Build a Web Scraper, Bot, or Automation Tool
- Write a Twitter Bot in Node.js
- Create a Twitter Bot in Python
- Build a Twitter Bot with Clojure
- Build a Reddit Bot (Python)
- Build a Facebook Messenger Bot (Python)
- Making a Reddit + Facebook Messenger Bot (Python)
- How To Create a Telegram Bot Using Python
- Scrape a Website with Scrapy and MongoDB (Python)
- Build A Simple Search Bot in 30 Minutes (Node.js)
- Build A Job Scraping Web App (Node.js)
Game Development
Build a Game from Scratch
Build a Game from Scratch
- Beginning Game Programming with C++ and SDL
- Creating 2D Breakout Game Clone in C++ with OpenGL
- Tetris Tutorial in C++ — Platform Independent
- Space Invaders from Scratch (C++)
- BYTEPATH: Creation of a Complete Game with Lua and LÖVE (15-part series)
- Part 0: Introduction
- Part 1: Game Loop
- Part 2: Libraries
- Part 3: Rooms and Areas
- Part 4: Exercises
- Part 5: Game Basics
- Part 6: Player Basics
- Part 7: Player Stats and Attacks
- Part 8: Enemies
- Part 9: Director and Gameplay Loop
- Part 10: Coding Practices
- Part 11: Passives
- Part 12: More Passives
- Part 13: Skill Tree
- Part 14: Console
- Part 15: Final
- Writing a Rust Roguelike for the Desktop and the Web
- Writing NES Emulator in Rust
- How to Make Minecraft in C++/OpenGL (video)
- Make 2D Breakout Game using Phaser (JavaScript)
- Make Flappy Bird in HTML5 and JavaScript with Phaser
- How to Program an NES Game in C
Shell & System Tools
Build a Shell, Debugger, or Low-Level System Tool
Build a Shell, Debugger, or Low-Level System Tool
- Write a Shell in C
- Writing a Linux Debugger (C++, 10-part series)
- Making a Low-Level (Linux) Debugger (Python)
- Linux Container in 500 Lines of Code (C)
Machine Learning & AI Projects
Build Machine Learning Models and AI Applications
Build Machine Learning Models and AI Applications
- Build Your Own Neural Network from Scratch in Python
- Write Linear Regression from Scratch in Python (video)
- Detecting Fake News with Python and Machine Learning
- Music Recommender using KNN (Python)
- Code a Taylor Swift Lyrics Generator (Python)
- Code a Smile Classifier using CNNs in Python
- Mask Detection using PyTorch Lightning (Python)