Skip to content

About

The most comprehensive, up-to-date, and career-focused collection of project-based tutorials on the internet. Build real applications from scratch across 20+ domains.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🚀 Project-Based Learning

The most comprehensive, up-to-date, and career-focused collection of project-based tutorials on the internet.

500+ Projects 20+ Domains All Levels MIT License

🗺️ Learning Paths • 📚 Domains • 🛠️ Build Your Own X • 🎓 CS Fundamentals • 📖 How to Use


📌 What Is This?

This repository is a carefully curated encyclopedia of project-based tutorials designed for aspiring developers, engineers, and technologists who believe the best way to learn is by building real things.

Unlike traditional courses that teach concepts in isolation, every resource here guides you through constructing functional, production-worthy applications, systems, and tools from scratch. You will write code, debug errors, architect solutions, and ship projects you can proudly showcase.

🎯 Who Is This For?

  • Complete beginners looking for a structured, hands-on alternative to textbooks
  • Bootcamp graduates who need portfolio projects that stand out
  • Self-taught developers seeking depth in computer science and software engineering
  • Career switchers building credibility in a new domain
  • Senior engineers who want to explore emerging technologies (AI agents, Web3, AR/VR, etc.)
  • Interview candidates preparing for system design and practical coding rounds

✨ What Makes This Different?

Feature This Repository Typical Lists
Organization Domain-first + Language-based Language-only
Difficulty Every project rated 🟢🟡🔴 Unrated
Learning Paths Career roadmaps with project sequences None
Modern Tech AI/LLMs, MCP, Web3, Rust, Zig, WebGPU Often outdated
Build Your Own X Deep systems programming section Missing or shallow
Cybersecurity Red team, blue team, and purple team projects Rare
DevOps/Cloud Full infrastructure and CI/CD projects Minimal

🗺️ Learning Paths

Don't know where to start? Follow a curated path designed to take you from beginner to job-ready in a specific role.

🌐 Full-Stack Web Developer
Order Project Domain Difficulty
1 Build a Todo List App (Vanilla JS) Frontend 🟢
2 Build a Weather App with an API Frontend 🟢
3 Build a REST API with Node/Express Backend 🟡
4 Build a Full-Stack Movie Voting App Full Stack 🟡
5 Build a URL Shortener with Go + Redis Backend 🟡
6 Build a Microservices App with Docker & React DevOps/Full Stack 🔴
7 Build a Real-time Chat with WebSockets Full Stack 🔴
8 Design a Twitter-like System Architecture 🔴

Key Technologies: HTML, CSS, JavaScript, TypeScript, React/Next.js, Node.js, PostgreSQL, MongoDB, Redis, Docker, AWS/GCP/Azure

🤖 AI / Machine Learning Engineer
Order Project Domain Difficulty
1 Code a Simple Neural Network in Python ML Fundamentals 🟢
2 Twitter Sentiment Analysis NLP 🟡
3 Build an Image Caption Generator Deep Learning 🟡
4 Build a RAG-Powered Document Chatbot LLMs / GenAI 🟡
5 Fine-tune an LLM for a Specific Domain GenAI 🔴
6 Build an AI Agent with Tool Use (MCP) AI Agents 🔴
7 Build an MLOps Pipeline with Kubeflow MLOps 🔴
8 Train a Reinforcement Learning Agent RL 🔴

Key Technologies: Python, PyTorch, TensorFlow, Hugging Face, LangChain, OpenAI API, scikit-learn, Pandas, NumPy, CUDA

☁️ DevOps / Cloud / SRE Engineer
Order Project Domain Difficulty
1 Containerize a Simple App with Docker Containers 🟢
2 Build a CI/CD Pipeline with GitHub Actions CI/CD 🟡
3 Deploy a Kubernetes Cluster locally Orchestration 🟡
4 Infrastructure as Code with Terraform IaC 🟡
5 Build a Monitoring Stack (Prometheus + Grafana) Observability 🟡
6 Set Up a Service Mesh with Istio Microservices 🔴
7 Build a Serverless Data Pipeline on AWS Cloud 🔴
8 Design a Globally Distributed System Architecture 🔴

Key Technologies: Linux, Bash, Docker, Kubernetes, Terraform, Ansible, Jenkins/GitHub Actions, AWS/Azure/GCP, Prometheus, Grafana, ELK Stack

🔒 Cybersecurity Specialist
Order Project Domain Difficulty
1 Build a Password Strength Analyzer AppSec 🟢
2 Packet Sniffing & Traffic Analysis Networking 🟡
3 SQL Injection & XSS Testing Lab Web Security 🟡
4 Build a Simple Honeypot Blue Team 🟡
5 Network Anomaly Detection with ML Threat Detection 🔴
6 Build a Malware Analysis Sandbox Reverse Engineering 🔴
7 Smart Contract Security Audit Blockchain Sec 🔴
8 Build a Threat Intelligence Platform Blue Team 🔴

Key Technologies: Python, Kali Linux, Wireshark, Metasploit, Burp Suite, Snort, Splunk, YARA, Solidity

⛓️ Blockchain / Web3 Developer
Order Project Domain Difficulty
1 Build a Simple Blockchain in Python Fundamentals 🟢
2 Build a Blockchain in Go Consensus 🟡
3 Create an ERC-20 Token Smart Contracts 🟡
4 Build an NFT Marketplace dApps 🟡
5 Build a DeFi Lending Protocol DeFi 🔴
6 Write a DAO Governance Contract DAOs 🔴
7 Cross-Chain Bridge Architecture Advanced 🔴

Key Technologies: Solidity, Rust (Anchor), Hardhat, Foundry, Ethers.js, Web3.py, IPFS, Ethereum, Solana

📱 Mobile Developer
Order Project Domain Difficulty
1 Build a React Native Todo App Cross-Platform 🟢
2 Build an iOS Flashlight App (Swift) iOS 🟢
3 Build a Weather App with Flutter Cross-Platform 🟡
4 Build a Chat App with Firebase Cross-Platform 🟡
5 Build Instagram Clone (Flutter) Cross-Platform 🔴
6 Build a TikTok Clone (Flutter) Cross-Platform 🔴

Key Technologies: Swift, Kotlin, Flutter, React Native, Firebase, Core Data, Room

🎮 Game Developer
Order Project Domain Difficulty
1 Build Snake in the Terminal Arcade 🟢
2 Build 2D Breakout with Phaser Browser 🟢
3 Build Tetris in C++ Systems 🟡
4 Build a Roguelike in Rust Procedural 🟡
5 Build Minecraft-like Voxel Engine Graphics 🔴
6 Build a Multiplayer Game Server Networking 🔴

Key Technologies: C++, C#, Rust, Unity, Unreal Engine, OpenGL/Vulkan, WebGL, Godot

📊 Data Engineer / Data Scientist
Order Project Domain Difficulty
1 Scrape and Analyze Twitter Data ETL 🟢
2 Build a Movie Recommendation System ML 🟡
3 Real-time Data Pipeline with Kafka Streaming 🟡
4 Build a Data Warehouse with dbt Analytics 🟡
5 Predict Stock Prices with Time Series Forecasting 🔴
6 Build a Real-time Analytics Dashboard Visualization 🔴

Key Technologies: Python, SQL, Spark, Kafka, Airflow, dbt, Snowflake/BigQuery, Tableau, Pandas


📚 Domains

Legend: 🟢 Beginner | 🟡 Intermediate | 🔴 Advanced

Click any domain below to jump to its projects.


💻 Programming Languages

Master a language by building real software in it. Each section contains tutorials ranging from command-line tools to compilers and operating systems.

C / C++

Difficulty Project What You'll Learn
🟡 Build an Interpreter (Ch. 14+) Parsing, VMs, memory management
🟡 Memory Allocators 101 malloc, free, heap management
🟡 Write a Shell in C Process forking, IPC, system calls
🟡 Build Your Own Text Editor Terminal UI, buffer management
🟡 Build Your Own Lisp Recursion, parsing, lambdas
🟡 Building a CHIP-8 Emulator Emulation, CPU cycles, graphics
🔴 Write an OS from scratch Bootloaders, protected mode, interrupts
🔴 Linux Container in 500 Lines Namespaces, cgroups, chroot
🔴 Write Your Own Virtual Machine Instruction sets, register machines
🔴 Build Your Own Redis Event loops, protocols, data structures
🔴 Write a C Compiler Lexing, parsing, code generation
🔴 Let's Code a TCP/IP Stack Networking, Ethernet, ARP, TCP
🔴 Tiny Renderer (OpenGL from scratch) 3D graphics, rasterization
🔴 Write a Bootloader in C BIOS, real mode, disk I/O
🔴 Build a Live Code-Reloader for C++ Dynamic linking, ELF/DWARF
🔴 Programming Concurrent Servers Threads, event-driven, async I/O
🔴 MQTT Broker from Scratch Pub/sub, protocol design

C#

Difficulty Project What You'll Learn
🟢 Learn C# by Building a Simple RPG OOP, game loops
🟡 Create a Roguelike in C# Procedural generation, pathfinding
🟡 Build CoreWiki (ASP.NET Core) Razor Pages, EF Core, Identity
🟡 Build a Unity 2D Platformer Physics, animations, C# scripting

Dart / Flutter

Difficulty Project What You'll Learn
🟢 Wordle Clone State management, UI layout
🟡 WhatsApp Clone Firebase, real-time messaging
🟡 Netflix Clone Video streaming, APIs
🔴 TikTok Clone Camera, video compression, feeds
🔴 Zoom Clone WebRTC, signaling servers

Elixir / Erlang

Difficulty Project What You'll Learn
🟡 Build a Simple Chat App with Phoenix Channels, PubSub, real-time
🟡 Link Shortener with Elixir + Mnesia Distributed state, ETS
🔴 ChatBus with Erlang/OTP OTP, supervisors, gen_server

Go

Difficulty Project What You'll Learn
🟢 Build a URL Shortener with Gin & Redis HTTP routing, caching
🟡 Building a Blockchain in Go PoW, persistence, networking
🟡 REST API Masterclass (Go + Postgres + Docker) Clean architecture, DB migrations
🟡 Building a BitTorrent Client P2P networking, DHT, bencode
🔴 Building a Container from Scratch Namespaces, cgroups, overlayfs
🔴 REST Servers in Go (7-part series) Middleware, auth, GraphQL
🔴 Go WebAssembly Calculator WASM, JS interop

Haskell

Difficulty Project What You'll Learn
🟡 Write You a Haskell Type systems, compilers, lambda calc
🟡 Write Yourself a Scheme in 48 Hours Parsing, metaprogramming
🟡 Roll Your Own IRC Bot Network I/O, concurrency
🔴 Write You a Scheme v2 Advanced Haskell, monad transformers

Java

Difficulty Project What You'll Learn
🟢 Build an Android Flashlight App Android basics, permissions
🟡 Build a Simple HTTP Server Sockets, threading
🟡 Spring Boot App with User Authentication Spring Security, JPA
🔴 Build an Interpreter (Ch. 4-13) OOP design patterns, trees

JavaScript / TypeScript

Vanilla JS

Difficulty Project What You'll Learn
🟢 Build 30 Things in 30 Days DOM, events, APIs, CSS
🟢 Build a Weather App Fetch API, async/await
🟢 Build Snake in HTML5 Canvas Canvas API, game loops
🟡 Build Yourself a Redux Functional programming, pub/sub
🟡 Write Your Own Virtual DOM Diffing algorithms, rendering

React / Next.js

Difficulty Project What You'll Learn
🟢 Build a TicTacToe Game State, props, components
🟡 Create a Trello Clone Drag & drop, optimistic UI
🟡 Build a Medium Clone SSR, authentication
🟡 Build a Twitter Stream WebSockets, streaming APIs
🔴 Build a Movie Voting App (Redux + Immutable) TDD, functional architecture
🔴 Create a Character Voting App (React + Node + MongoDB + SocketIO) Full stack, real-time

Node.js / Backend

Difficulty Project What You'll Learn
🟡 Build a real-time Markdown Editor WebSockets, operational transforms
🟡 Test-Driven Development with Node + Postgres TDD, SQL migrations, Knex
🟡 Build a Job Scraping Web App Cheerio, cron jobs, REST
🔴 Build an Uber-for-X App (Node + MongoDB + WebSockets) Geolocation, maps, payments

Vue / Svelte / Others

Difficulty Project What You'll Learn
🟢 Vue.js Budgeting App Reactivity, computed properties
🟡 Build a Blog with Vue + GraphQL + Apollo GraphQL, Apollo Client
🟡 Build a PWA Service workers, caching, manifests
🟡 Build a Desktop Chat App with Electron Electron IPC, native menus

Kotlin

Difficulty Project What You'll Learn
🟡 Keddit - Android App in Kotlin RecyclerView, Retrofit, RxJava
🟡 Build a Weather App with Kotlin + Compose Jetpack Compose, coroutines

Lua

Difficulty Project What You'll Learn
🟡 BYTEPATH - Complete Game with LÖVE Game loops, ECS, particle systems

PHP

Difficulty Project What You'll Learn
🟢 Make Your Own Blog in Pure PHP Routing, PDO, sessions
🟡 Build a Blog with Laravel Eloquent, Blade, migrations
🔴 Multi-tenant Laravel SaaS Tenancy, roles, testing

Python

Web Development

Difficulty Project What You'll Learn
🟢 Build a Microblog with Flask Forms, ORM, blueprints
🟢 Create a Blog with Django Admin, models, templates
🟡 Build a RESTful Microservice Docker, testing, REST
🟡 Microservices with Docker, Flask, and React TDD, CI/CD, AWS
🔴 Real-time Chat with Django + RabbitMQ + uWSGI WebSockets, message brokers

Web Scraping & Automation

Difficulty Project What You'll Learn
🟢 Scrape a Website with Scrapy and MongoDB XPath, pipelines, NoSQL
🟡 Selenium WebDriver Scraping Headless browsers, JS rendering
🟡 Build a Reddit Bot APIs, OAuth, scheduling

Data Science & Machine Learning

Difficulty Project What You'll Learn
🟢 Step-by-Step ML in Python Pandas, scikit-learn, evaluation
🟡 Predict Wine Quality Regression, feature engineering
🟡 Build Your Own Neural Net from Scratch Backpropagation, matrices
🟡 Twitter Sentiment Analysis (11-part series) NLP, word2vec, CNNs
🟡 Break a CAPTCHA with CNNs OCR, image preprocessing
🔴 Build an Image Caption Generator Encoder-decoder, attention
🔴 Deep Learning for Malaria Detection Medical imaging, transfer learning

Computer Vision (OpenCV)

Difficulty Project What You'll Learn
🟢 Build a Document Scanner Perspective transforms, thresholding
🟡 Face Recognition System dlib, face embeddings
🟡 Object Detection with YOLO Darknet, NMS, bounding boxes
🔴 Neural Style Transfer VGG, gram matrices, optimization

Deep Learning Frameworks

Difficulty Project What You'll Learn
🟡 Create your first CNN Keras, TensorFlow, GPU training
🟡 Mask Detection with PyTorch Lightning Data modules, trainers, callbacks
🔴 Transfer Learning for Custom Classification Fine-tuning, bottleneck layers

Systems & Miscellaneous

Difficulty Project What You'll Learn
🟢 Build the Game of Life 2D arrays, terminal rendering
🟡 Build a Simple Blockchain Hashing, PoW, consensus
🟡 Write a NoSQL Database B-trees, serialization
🟡 Write Yourself a Git Hash objects, refs, merges
🟡 Build a Search Engine Inverted indices, TF-IDF, ranking
🔴 Distributed Streaming with Kafka Stream processing, consumers
🔴 Build a Python Bytecode VM Stack machines, bytecode

R

Difficulty Project What You'll Learn
🟢 Build Web Apps with Shiny Reactive programming, dashboards
🟡 Build a Cryptocurrency Trading Bot APIs, time-series, backtesting
🟡 Association Rule Mining Market basket analysis, apriori

Ruby

Difficulty Project What You'll Learn
🟡 Build a Network Stack in Ruby Raw sockets, packet crafting
🟡 Build Your Own Redis Event loops, RESP protocol
🟡 Rebuilding Git in Ruby Object storage, plumbing
🟡 Build Instagram with Rails ActiveStorage, ActionCable

Rust

Difficulty Project What You'll Learn
🟡 A Simple Web App in Rust HTTP servers, templating
🟡 Write an OS in Pure Rust Bootloaders, paging, interrupts
🟡 Build a Browser Engine in Rust CSS parsing, box model, painting
🟡 Write a Microservice in Rust Hyper, JSON, async
🟡 Too Many Linked Lists Ownership, lifetimes, unsafe
🔴 Write a NES Emulator CPU emulation, PPU, APU
🔴 Evolution Simulation with WASM Genetic algorithms, neural nets, WASM

Scala

Difficulty Project What You'll Learn
🟡 Simple Actor-Based Blockchain Akka actors, cryptography
🟡 No Magic: Regular Expressions Parser combinators, NFA/DFA

Swift

Difficulty Project What You'll Learn
🟢 Hacking with Swift (39 projects) UIKit, SpriteKit, Core Data
🔴 Retro FPS from Scratch Raycasting, game engine architecture

Zig

Difficulty Project What You'll Learn
🟡 Build a CLI Tool in Zig Allocators, comptime, C interop
🔴 Build an HTTP Server from Scratch Sockets, HTTP parsing, memory safety

Nim

Difficulty Project What You'll Learn
🟡 Build a Static Site Generator Macros, file I/O, templating
🔴 Write a Compiler in Nim AST, code generation, optimization

🤖 Artificial Intelligence & Machine Learning

Build intelligent systems, from classical ML to cutting-edge LLMs and AI agents.

Generative AI & Large Language Models (LLMs)

Difficulty Project What You'll Learn Stack
🟢 Build a RAG Chatbot over Your Documents Retrieval-Augmented Generation, embeddings, vector search Python, LangChain, OpenAI, Pinecone
🟡 Fine-tune LLaMA with LoRA on Custom Data PEFT, quantization, instruction tuning Python, PyTorch, Hugging Face, PEFT
🟡 Build an AI Agent with ReAct Pattern Tool use, reasoning, memory Python, LangGraph, OpenAI API
🔴 Build a Local AI Agent with MCP (Model Context Protocol) MCP servers, tool integration, local LLMs Python, MCP SDK, Claude API, Ollama
🔴 Create a Multi-Agent Orchestration System Agent collaboration, task delegation, planning Python, CrewAI, LangChain
🔴 Build an AI Code Review Bot Code understanding, patch generation, SWE-bench Python, OpenAI, GitHub API

Computer Vision

Difficulty Project What You'll Learn Stack
🟢 Build a Face Detection Pipeline Haar cascades, DNN face detector Python, OpenCV
🟡 Real-time Object Detection with YOLOv8 Anchors, NMS, COCO dataset Python, PyTorch, Ultralytics
🟡 Build a Facial Recognition Attendance System Face embeddings, cosine similarity Python, face_recognition, OpenCV
🔴 Train a Diffusion Model from Scratch DDPM, U-Net, noise scheduling Python, PyTorch, CUDA
🔴 Build a Segment Anything (SAM) Fine-tune Promptable segmentation, ViT Python, PyTorch, SAM

Natural Language Processing

Difficulty Project What You'll Learn Stack
🟢 Sentiment Analysis with BERT Tokenizers, transformers, fine-tuning Python, Hugging Face
🟡 Build a Named Entity Recognition System BIO tagging, token classification Python, spaCy, Hugging Face
🟡 Create a Text Summarization API Seq2seq, beam search, ROUGE Python, FastAPI, Transformers
🔴 Train a Custom GPT-2 from Scratch Tokenization, attention, distributed training Python, PyTorch, CUDA
🔴 Build a Multilingual Translation Engine Encoder-decoder, BLEU evaluation Python, MarianMT, FastAPI

Reinforcement Learning

Difficulty Project What You'll Learn Stack
🟡 Train an Agent to Play CartPole Q-learning, policy gradients Python, Gymnasium, PyTorch
🟡 Build a Chess AI with Alpha-Beta + NN MCTS, value networks, self-play Python, PyTorch, python-chess
🔴 Train an RL Agent for Robotics (MuJoCo) Actor-critic, PPO, sim-to-real Python, Gymnasium, Stable Baselines3

MLOps & Model Serving

Difficulty Project What You'll Learn Stack
🟡 Build an ML Pipeline with Apache Airflow DAGs, scheduling, data validation Python, Airflow, MLflow
🟡 Deploy a Model with FastAPI + Docker REST APIs, containerization, health checks Python, FastAPI, Docker
🔴 Set Up Kubeflow for Model Training Kubernetes, distributed training, pipelines Kubernetes, Kubeflow, TensorFlow
🔴 Build a Feature Store with Feast Feature engineering, online/offline stores Python, Feast, Redis, BigQuery

🌐 Web Development

Frontend

Difficulty Project What You'll Learn Stack
🟢 Build a Personal Portfolio Site HTML, CSS, responsive design HTML, CSS, JS
🟢 Build a Calculator with React State management, event handling React, CSS
🟡 Build an E-commerce Product Page API integration, cart state, routing React, Tailwind
🟡 Build a Real-time Collaborative Whiteboard CRDTs, WebSockets, canvas drawing React, Liveblocks, Canvas API
🔴 Build a Design System from Scratch Component libraries, a11y, theming React, Storybook, TypeScript
🔴 Build a WebAssembly Image Editor WASM, memory buffers, performance Rust/C++, WASM, Canvas

Backend

Difficulty Project What You'll Learn Stack
🟢 Build a REST API with FastAPI Pydantic, dependency injection, async Python, FastAPI, PostgreSQL
🟡 Build a GraphQL API with Apollo Server Schemas, resolvers, dataloaders Node.js, GraphQL, MongoDB
🟡 Build a gRPC Microservice Protocol Buffers, streaming, interceptors Python/Go, gRPC, Docker
🔴 Build a Real-time Notification Service Pub/sub, fan-out, delivery guarantees Node.js, Redis, WebSockets
🔴 Design a URL Shortener at Scale Hashing, rate limiting, analytics Go, Redis, PostgreSQL, Kafka

Full Stack

Difficulty Project What You'll Learn Stack
🟡 Build a SaaS App with Next.js 14 App Router, Server Actions, auth Next.js, Prisma, Stripe
🟡 Build a Notion Clone Block-based editors, real-time collab Next.js, Socket.io, PostgreSQL
🔴 Build a Figma-like Design Tool Canvas rendering, CRDTs, export React, TypeScript, Yjs
🔴 Build a Video Conferencing App WebRTC, SFU architecture, signaling Node.js, WebRTC, Socket.io

JAMstack & Static Sites

Difficulty Project What You'll Learn Stack
🟢 Build a Blog with Astro Islands architecture, MDX, RSS Astro, Markdown
🟡 Build an E-commerce Site with Shopify Hydrogen GraphQL, caching, SSR Remix, Hydrogen

📱 Mobile Development

iOS (Swift / SwiftUI)

Difficulty Project What You'll Learn Stack
🟢 Build a Habit Tracker SwiftUI, Core Data, Widgets Swift, SwiftUI
🟡 Build a Chat App with Firebase Cloud Firestore, auth, real-time SwiftUI, Firebase
🔴 Build a Music Streaming App MusicKit, AVFoundation, background audio Swift, Combine

Android (Kotlin / Jetpack Compose)

Difficulty Project What You'll Learn Stack
🟢 Build a Todo App with Compose State hoisting, navigation, Room Kotlin, Compose
🟡 Build a Weather App with Jetpack Retrofit, coroutines, ViewModel Kotlin, Hilt
🔴 Build a Camera App with ML Kit CameraX, ML Kit, custom models Kotlin, TensorFlow Lite

Cross-Platform

Difficulty Project What You'll Learn Stack
🟢 Build a Meditation App with Flutter Widgets, state management, audio Flutter, Dart
🟡 Build a Social Media App with React Native Navigation, push notifications, camera React Native, Expo
🔴 Build a Turn-Based Game with Flame Game loops, physics, animations Flutter, Flame

☁️ DevOps, Cloud & Site Reliability

Containers & Orchestration

Difficulty Project What You'll Learn Stack
🟢 Containerize a Python App with Docker Dockerfiles, layers, multi-stage builds Docker
🟡 Deploy a Local Kubernetes Cluster Pods, services, deployments, ingress kind/minikube, kubectl
🟡 Build a Helm Chart for Your App Templating, values, releases Helm, Kubernetes
🔴 Set Up a Service Mesh with Istio mTLS, traffic management, observability Istio, Kubernetes
🔴 Build a GitOps Pipeline with ArgoCD Declarative CD, sync waves, rollbacks ArgoCD, Kubernetes

CI/CD & Automation

Difficulty Project What You'll Learn Stack
🟢 Set Up GitHub Actions for Testing Workflows, matrices, artifacts GitHub Actions
🟡 Build a Jenkins Pipeline from Scratch Groovy, stages, agents, parallel jobs Jenkins, Docker
🟡 Implement Trunk-Based Development Feature flags, automated releases GitHub Actions, LaunchDarkly
🔴 Build a Self-Hosted CI/CD Runner on ARM Runner management, security hardening GitHub Actions, ARM, Docker

Infrastructure as Code

Difficulty Project What You'll Learn Stack
🟡 Provision AWS Infrastructure with Terraform State, modules, remote backends Terraform, AWS
🟡 Automate Server Config with Ansible Playbooks, roles, inventories Ansible, Linux
🔴 Build a Multi-Cloud Abstraction Layer Pulumi, state management, policies Pulumi, TypeScript

Observability & Monitoring

Difficulty Project What You'll Learn Stack
🟡 Set Up Prometheus + Grafana Stack Metrics, PromQL, dashboards Prometheus, Grafana
🟡 Build a Centralized Logging Pipeline Log aggregation, parsing, alerts ELK / Loki
🔴 Implement Distributed Tracing with Jaeger OpenTelemetry, spans, sampling Jaeger, OpenTelemetry
🔴 Build an SLO Dashboard Error budgets, burn rates, alerting Prometheus, Grafana, PagerDuty

Serverless & Cloud Native

Difficulty Project What You'll Learn Stack
🟡 Build a Serverless API with AWS Lambda API Gateway, IAM, cold starts AWS Lambda, Python
🟡 Deploy a Static Site on Cloudflare Pages Edge functions, KV storage Cloudflare, Workers
🔴 Build an Event-Driven Architecture with EventBridge Event buses, rules, targets AWS, SNS, SQS

🔒 Cybersecurity

⚠️ Ethics Notice: All projects below are intended for educational and authorized testing purposes only. Never test vulnerabilities on systems you do not own or have explicit permission to test.

Application Security (AppSec)

Difficulty Project What You'll Learn Stack
🟢 Build a Password Strength Analyzer Entropy, zxcvbn, policy enforcement Python, JavaScript
🟡 Create a Vulnerable Web App for Training OWASP Top 10, secure coding Node.js, Docker
🟡 Build a Web Application Firewall (WAF) Rule engines, request filtering Python/C, nginx
🔴 Develop an Automated SAST Scanner AST parsing, taint analysis Python, tree-sitter

Network Security

Difficulty Project What You'll Learn Stack
🟢 Packet Sniffing with Scapy Raw sockets, protocols, BPF filters Python, Scapy
🟡 Build a Network Anomaly Detector Flow analysis, unsupervised ML Python, scikit-learn
🟡 Create a Simple Honeypot Deception, logging, attack capture Python, Twisted
🔴 Build a Custom Intrusion Detection System Signature matching, anomaly detection C, Suricata

Offensive Security (Red Team)

Difficulty Project What You'll Learn Stack
🟡 Write a Custom Port Scanner SYN stealth, service detection Python, socket, nmap
🟡 Build a SQL Injection Testing Tool Error-based, blind, time-based SQLi Python, requests
🔴 Create a Reverse Shell Payload Socket programming, obfuscation Python, C, PowerShell
🔴 Build a C2 Framework Component Beaconing, encryption, opsec Python, Go, cryptography

Blue Team & DFIR

Difficulty Project What You'll Learn Stack
🟡 Build a Security Log Analyzer SIEM, correlation rules, alerts ELK Stack
🟡 Create a Memory Forensics Tool Volatility, YARA, process analysis Python, YARA
🔴 Build a Threat Intelligence Platform IOC sharing, STIX/TAXII, enrichment Python, MISP, PostgreSQL
🔴 Develop a SOAR Playbook Engine Automation, incident response, APIs Python, Splunk SOAR

Cloud Security

Difficulty Project What You'll Learn Stack
🟡 Automate AWS Security Hardening CIS benchmarks, IAM policies, SCPs Python, boto3, Terraform
🔴 Build a Cloud Security Posture Manager Misconfiguration detection, remediation Node.js, AWS/GCP/Azure APIs

⛓️ Blockchain & Web3

Smart Contracts

Difficulty Project What You'll Learn Stack
🟢 Create an ERC-20 Token Solidity, OpenZeppelin, Remix Solidity, Hardhat
🟡 Build an NFT Marketplace ERC-721, IPFS, meta-transactions Solidity, Next.js, Ethers.js
🟡 Write a Multi-Sig Wallet Contract Access control, transaction batching Solidity, Foundry
🔴 Build a DeFi Lending Protocol Flash loans, interest rates, oracles Solidity, Hardhat, Chainlink
🔴 Create a DAO with On-Chain Governance Governor Bravo, timelocks, voting Solidity, OpenZeppelin

dApps & Infrastructure

Difficulty Project What You'll Learn Stack
🟡 Build a Wallet with Web3 Auth MPC, social login, key management React, Web3Auth
🟡 Create a Cross-Chain Bridge UI Message passing, liquidity pools TypeScript, LayerZero
🔴 Index Blockchain Data with The Graph Subgraphs, indexing, GraphQL The Graph, AssemblyScript
🔴 Build a Zero-Knowledge Proof Demo Circom, zk-SNARKs, verifiers Circom, snarkjs, Solidity

Solana & Alternative Chains

Difficulty Project What You'll Learn Stack
🟡 Build a Solana Program with Anchor Rust PDAs, CPI, accounts Rust, Anchor, Solana CLI
🔴 Create a Token Launchpad on Solana SPL tokens, vesting, IDO Rust, TypeScript, Solana

📊 Data Science, Analytics & Big Data

Data Engineering

Difficulty Project What You'll Learn Stack
🟢 Build an ETL Pipeline with Pandas Cleaning, transformation, loading Python, Pandas, SQL
🟡 Create a Real-Time Streaming Pipeline Producers, consumers, Kafka Connect Python, Kafka, PostgreSQL
🟡 Orchestrate Pipelines with Apache Airflow DAGs, backfilling, sensors Python, Airflow
🔴 Build a Data Lakehouse with Delta Lake ACID, time travel, schema enforcement Spark, Delta Lake, S3

Analytics & Visualization

Difficulty Project What You'll Learn Stack
🟢 Build an Interactive Dashboard with Streamlit Widgets, caching, session state Python, Streamlit
🟡 Create a BI Dashboard with Apache Superset SQL Lab, semantic layer, caching Python, Superset
🔴 Build a Real-Time Analytics Platform Streaming SQL, materialized views Materialize, dbt, Kafka

Business Intelligence

Difficulty Project What You'll Learn Stack
🟡 Transform Data with dbt Models, tests, documentation, snapshots dbt, Snowflake/BigQuery
🔴 Build a Metrics Store Metric definitions, APIs, governance dbt, Python, Looker

🎮 Game Development

2D Games

Difficulty Project What You'll Learn Stack
🟢 Build Snake in the Terminal Game loops, collision, rendering Python/C
🟢 Build a Platformer in Godot Physics, animations, tilemaps GDScript, Godot
🟡 Build a Roguelike in Rust ECS, FOV, procedural dungeons Rust, bracket-lib
🟡 Create a Tower Defense in Unity Pathfinding, object pooling, waves C#, Unity

3D Games

Difficulty Project What You'll Learn Stack
🟡 Build a Minecraft-like Voxel Engine Chunk generation, meshes, culling C++, OpenGL
🔴 Build a Simple Raytracer Ray-sphere intersection, shading C++
🔴 Create a Multiplayer FPS Server Replication, hit detection, lag comp C++, Unreal Engine

Game Engines & Tools

Difficulty Project What You'll Learn Stack
🔴 Build a 2D Physics Engine Rigid bodies, constraints, integration C++, math
🔴 Write a Game Scripting Language VMs, bytecode, bindings C/Rust

🥽 AR / VR / Spatial Computing

Difficulty Project What You'll Learn Stack
🟢 Build a WebXR 360 Viewer XR sessions, matrices, rendering JavaScript, Three.js
🟡 Create an AR Measurement App Plane detection, anchors, hit tests ARCore / ARKit
🟡 Build a VR Meditation Experience Locomotion, UI in 3D, audio spatialization C#, Unity
🔴 Develop a Hand Tracking Interface Gesture recognition, skeletal tracking Unity, Oculus SDK

🔌 IoT, Embedded Systems & Robotics

IoT

Difficulty Project What You'll Learn Stack
🟢 Build a Smart Plant Monitor Sensors, GPIO, MQTT Raspberry Pi, Python
🟡 Create a Home Automation Hub Device integration, automations, dashboards Home Assistant, MQTT
🔴 Build an Edge ML Camera Quantization, inference, streaming Coral TPU, TensorFlow Lite

Embedded

Difficulty Project What You'll Learn Stack
🟢 Blink an LED with Arduino GPIO, timers, serial C++, Arduino
🟡 Build a Custom Keyboard Firmware Matrix scanning, debouncing, USB HID C, QMK
🟡 Program an ESP32 Wi-Fi Sensor FreeRTOS, Wi-Fi, deep sleep C, ESP-IDF
🔴 Write a Bare-Metal ARM Kernel Bootloader, UART, MMU C, ARM Assembly

Robotics

Difficulty Project What You'll Learn Stack
🟡 Build a Line-Following Robot PID control, IR sensors, motors Arduino/C++
🔴 Simulate a Robot Arm with ROS2 Kinematics, URDF, Gazebo Python/C++, ROS2
🔴 Create an Autonomous Drone Controller PX4, MAVLink, state estimation C++, Python, MAVSDK

🗄️ Database Systems

Difficulty Project What You'll Learn Stack
🟡 Build a Simple Key-Value Store LSM trees, SSTables, compaction C/Java
🟡 Write a SQL Database from Scratch B-trees, SQL parsing, transactions C
🔴 Implement a Vector Database HNSW, embeddings, ANN search Python, C++
🔴 Build a Distributed Database Raft consensus, distributed SQL Go/Rust

🌐 Networking & Systems

Difficulty Project What You'll Learn Stack
🟡 Code a TCP/IP Stack ARP, IP, ICMP, TCP state machine C
🟡 Build a BitTorrent Client DHT, peer wire protocol, hashing Go/Python
🔴 Write an HTTP/2 Server HPACK, streams, flow control C/Rust
🔴 Build a VPN with WireGuard Principles Cryptokey routing, UDP, NAT traversal Go

🏗️ System Design & Architecture

Difficulty Project What You'll Learn Stack
🟡 Design a URL Shortener Hashing, rate limiting, analytics Any
🟡 Design a Rate Limiter Token bucket, sliding window, Redis Redis, any backend
🔴 Design Twitter/X Feed System Fan-out, timeline, caching System design concepts
🔴 Design a Distributed Message Queue Log compaction, partitions, replication Kafka internals
🔴 Design Uber's Dispatch System Geohashes, supply-demand, ETA System design concepts

🧪 Quality Assurance & Testing

Difficulty Project What You'll Learn Stack
🟢 Build a Unit Testing Framework from Scratch Assertions, test runners, reporting Any language
🟡 Automate E2E Tests with Playwright Browser automation, visual regression TypeScript, Playwright
🟡 Set Up Contract Testing with Pact Consumer-driven contracts, brokers Any
🔴 Build a Chaos Engineering Platform Fault injection, hypothesis tracking Kubernetes, Chaos Mesh
🔴 Implement Property-Based Testing Generative testing, shrinking Python, Hypothesis

🎨 UI/UX Design & Frontend Craft

Difficulty Project What You'll Learn Stack
🟢 Design a Design System in Figma Components, variants, auto-layout Figma
🟡 Build an Accessible Component Library ARIA, keyboard nav, screen readers React, Storybook
🟡 Create CSS Art & Animations Clip-path, keyframes, SVG HTML, CSS
🔴 Build a Procedural Texture Generator Shaders, GLSL, noise functions WebGL, GLSL

✍️ Technical Writing & Documentation

Difficulty Project What You'll Learn Stack
🟢 Write API Documentation with OpenAPI Spec-driven docs, code generation OpenAPI, Markdown
🟡 Build a Documentation Site with Docusaurus Versioning, i18n, search React, Docusaurus
🟡 Create Interactive Tutorials with MDX Embedded components, live code MDX, Gatsby/Next.js
🔴 Develop a Docs-as-Code Pipeline CI/CD for docs, linting, vale Git, Markdown, GitHub Actions

🏆 Competitive Programming & Algorithms

Difficulty Project What You'll Learn Stack
🟢 Solve 50 Problems on LeetCode/Educative Arrays, hash maps, two pointers Any
🟡 Implement Classic Graph Algorithms from Scratch Dijkstra, A*, DFS, BFS Any
🟡 Build a Chess Engine with Minimax Alpha-beta pruning, evaluation C++/Rust
🔴 Compete in a Kaggle Competition Feature engineering, ensembling Python
🔴 Write a SAT Solver DPLL, CDCL, heuristics C++

🛠️ Build Your Own X

Deep systems programming. Understand how things work by building them yourself.

System Tutorial Language Difficulty
3D Renderer Tiny Renderer C++ 🔴
Blockchain Building Blockchain in Go Go 🟡
Browser Engine Build a Browser Engine in Rust Rust 🔴
Command Shell Write a Shell in C C 🟡
Compiler Write a C Compiler C / any 🔴
Container Linux Container in 500 Lines C 🔴
Database Let's Build a Simple Database C 🔴
Debugger Writing a Linux Debugger C++ 🔴
Emulator (CHIP-8) Building a CHIP-8 Emulator C / any 🟡
Emulator (NES) Writing NES Emulator in Rust Rust 🔴
Git Write Yourself a Git Python 🟡
HTTP Server Build a Simple HTTP Server with Java Java / any 🟡
Interpreter Crafting Interpreters C / Java 🔴
Key-Value Store Build Your Own Redis C / any 🔴
Lisp Build Your Own Lisp C 🟡
Memory Allocator Memory Allocators 101 C 🟡
Operating System Write an OS from scratch C / Assembly 🔴
Search Engine Implementing a Search Engine Python 🟡
TCP/IP Stack Let's Code a TCP/IP Stack C 🔴
Text Editor Build Your Own Text Editor C 🟡
Virtual Machine Write Your Own Virtual Machine C / any 🟡
Web Framework How to Build a Web Framework in <20 Lines Python / any 🟡
WebSocket Server Writing Scalable Chat Service in Rust Rust 🔴
x86-64 JIT Compiler Writing a minimal x86-64 JIT compiler in C++ C++ 🔴

🎓 Computer Science Fundamentals

Strengthen your theoretical foundation with these classic projects.

Topic Project Difficulty
Algorithms Visualize Sorting Algorithms 🟡
Algorithms Implement a Red-Black Tree 🔴
Data Structures Write a Hash Table from Scratch 🟡
Data Structures Build a B-Tree Database Index 🔴
Distributed Systems Build a Raft Consensus Implementation 🔴
Distributed Systems Implement a Distributed Hash Table 🔴
Graphics Ray Tracing in One Weekend 🟡
Networking Build an MQTT Broker 🔴
Operating Systems Let's Write a Kernel 🔴
Programming Languages Implementing a Language with LLVM 🔴
Security Cryptopals Challenges 🟡
Security pwn.college - Dojo Exercises 🔴
Theory Build a Regex Engine 🟡

📖 How to Use This Repository

  1. Pick a Learning Path above if you have a career goal in mind.
  2. Otherwise, pick a domain that excites you and start with 🟢 Beginner projects.
  3. Read the tutorial carefully, but do not copy-paste code. Type it yourself.
  4. Break things intentionally. Modify the code to see what happens.
  5. Extend the project. Add features the tutorial didn't cover.
  6. Document your journey. Blog about it or post on LinkedIn/Twitter.
  7. Push to GitHub. A public portfolio is your best resume.

Tips for Success

  • Consistency beats intensity. 30 minutes daily is better than 10 hours once a week.
  • Finish projects, don't just start them. The last 20% teaches you the most.
  • Read other people's code. After building, compare with open-source implementations.
  • Teach what you learn. Write a blog post or mentor someone.

🌟 Additional Resources

Platforms

Books (Free)

Communities

Interview Prep


🤝 Contributing

We welcome contributions! This repository thrives because of the community. Please read CONTRIBUTING.md for detailed guidelines.

Quick Guidelines

  • Ensure your tutorial link is working and accessible.
  • Place projects under the correct domain and difficulty.
  • Use the format: | Difficulty | [Project Name](link) | Description | Stack |
  • If adding a new domain, update the Table of Contents.
  • One pull request per project or logical group.

Ways to Contribute

  • 🐛 Fix broken links
  • ✨ Add new projects (especially in emerging tech)
  • 📚 Improve descriptions and learning outcomes
  • 🌍 Translate to other languages
  • 🎨 Improve repository design and organization

📜 License

This repository is licensed under the MIT License.


If this repository helped you, please ⭐ star it and share it with others!

⬆️ Back to Top

Built with ❤️ by learners, for learners.

About

The most comprehensive, up-to-date, and career-focused collection of project-based tutorials on the internet. Build real applications from scratch across 20+ domains.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors