Projects
Build real things
A curated set of real projects to build, organized by role and difficulty. Each has a full guide: what you build, how it works, and where to start. The fastest way to learn a skill is to ship with it.
For your role
By level
Beginner
20Approachable builds to get the fundamentals down.

AI & Agents
Recall: AI Flashcard Generator
Paste study text and generate clean question-and-answer flashcards you can review with spaced repetition, all stored locally.

Backend & APIs
Shrtn: URL Shortener API
Build a REST API that turns long links into short codes, redirects on lookup, and counts clicks, with rate limiting and tests.

Data & ML
DataLab: Clean and Chart a Real Dataset
Take a messy public CSV, clean and reshape it, then produce labeled charts and a short findings write-up in a notebook.

Games
Starshard: A 2D Arcade Game
Build a playable space shooter with sprites, collisions, enemy waves, score, sound, and a game-over screen.
Mobile
Streaks: A Habit Tracker App
Build a cross-platform mobile app to track daily habits with streaks, local persistence, and reminder notifications.

Security
SafeKey: Password Strength and Breach Checker
Build a tool that scores password strength and checks if a password leaked using the k-anonymity range API, exposing nothing.

Systems & CLI
Jot: A Terminal Notes CLI
Build a fast CLI to add, list, search, and tag notes saved locally, packaged as a single installable binary.

Systems & CLI
minigrep: A Search Tool from Scratch
Build a command-line text search tool that recurses directories, matches patterns, and prints colored line-numbered hits.

Web
Developer Portfolio Site
A fast, personal site that shows your projects and gets you found.

Web
Inkwell: Markdown Blog Engine
Build a fast static blog that turns Markdown files into pages with tags, RSS, and SEO meta, deployed for free.

Web
Shopfront: Product Listing UI
Build a shoppable product grid with search, multi-filter, sort, and a persistent cart that survives page reloads.

Web
SkyCast: Live Weather Dashboard
Build a responsive dashboard that geolocates the user, fetches a live forecast API, and renders 7-day charts with loading and error states.

Web
TaskFlow: Full-Stack Task App with Auth
Build a task manager where users sign up, log in, and CRUD their own tasks backed by a real Postgres database.

Systems & CLI
wc: Build a Word Count Tool
Build a command-line tool that counts the bytes, characters, words, and lines of a file or piped input, mirroring the behavior and flags of Unix wc.

Systems & CLI
Build a Calculator
Build a command-line calculator that evaluates arithmetic expressions with correct operator precedence and parentheses using a tokenizer and a recursive-descent parser.

Systems & CLI
cut: Build a Column Extractor
Build a command-line tool that extracts selected fields or columns from delimited text using -f and -d flags, just like Unix cut.

Security
Build a Port Scanner
Build a tool that scans a host for open TCP ports concurrently with configurable ranges, timeouts, and a clean summary report.

Web
Build a QR Code Generator
Build a generator that encodes text into a scannable QR code image by implementing the data encoding and error-correction steps yourself.

Games
Snake in the Browser
Build the classic Snake game in vanilla JavaScript on an HTML canvas, with a game loop, growth, collision detection, scoring, and a game-over state.

Games
Tic-Tac-Toe with an Unbeatable Bot
Build a Tic-Tac-Toe game whose computer opponent uses the minimax algorithm and therefore can never lose.
Intermediate
21Real features and real stacks, shipped end to end.

AI & Agents
Ask-a-Podcast RAG Search
Transcribe a podcast back-catalog, chunk and embed it, then answer questions with cited timestamps that deep-link into episodes.

AI & Agents
Chatbot That Remembers You
Build a chat assistant that persists facts about each user across sessions and recalls them in later conversations.

AI & Agents
LLM Trip Planner With Live Tools
Build an agent that plans a trip by calling real flight, weather, and maps APIs through function calling and streaming the itinerary.

AI & Agents
Local LLM Workstation
Run open models like Llama 3 and Qwen fully offline, with a clean chat UI.

Backend & APIs
URL Shortener With Click Analytics
Build a link shortener that survives traffic spikes, with cached redirects, custom slugs, and a live per-link click dashboard.

Data & ML
Custom Image Classifier, Shipped
Fine-tune a vision model on your own labeled photos and serve real-time predictions from a web app with confidence scores.

Data & ML
Streaming Event Analytics Pipeline
Ingest a firehose of clickstream events, aggregate them in real time, and serve sub-second metrics to a live dashboard.

DevOps & Cloud
GitOps Deploy Pipeline
Containerize an app and ship it on every git push with a CI pipeline that builds, scans, and auto-deploys to Kubernetes.

Games
Authoritative Multiplayer Game Server
Build a top-down .io game with a server-authoritative loop, client prediction, and reconciliation so cheating and lag both lose.

Mobile
Offline-First Mobile App With Sync
Build a cross-platform notes-and-tasks app that works fully offline and syncs cleanly the moment a device reconnects.

Security
End-to-End Encrypted Chat
Build a 1-to-1 messenger where keys live only on devices and the server stores nothing but ciphertext it cannot read.

Systems & CLI
Distributed Rate Limiter & API Gateway
Build an API gateway that enforces per-key sliding-window rate limits across multiple nodes backed by Redis.

Web
Realtime Collaborative Whiteboard
Build a multiplayer canvas where many cursors draw and edit live with no merge conflicts, using CRDTs over WebSockets.

Systems & CLI
Build a JSON Parser
Write a hand-rolled lexer and recursive-descent parser that turns raw JSON text into native objects, arrays, numbers, and strings with precise error messages.

Systems & CLI
jq: Build a JSON Query Tool
Build a command-line tool that reads JSON on stdin and filters, indexes, and transforms it with a small path-and-pipe query language you design and implement.

Backend & APIs
Build Your Own Redis
Build an in-memory key-value server that speaks the Redis RESP protocol over TCP and serves GET, SET, and key expiry to many concurrent clients.

Backend & APIs
Build a Rate Limiter
Build HTTP middleware that throttles requests per client using token-bucket and sliding-window algorithms backed by Redis, returning standard rate-limit headers.

Backend & APIs
Real-Time Chat with WebSockets
Build a WebSocket chat server and client supporting multiple rooms, presence and typing indicators, and live message broadcast to all connected members.

Games
Build Tetris
Build a playable Tetris with a fixed-timestep game loop, all seven tetrominoes, rotation and collision detection, line clears, leveling, and scoring.

Backend & APIs
Build a Search Engine
Index a collection of documents into an inverted index and rank full-text queries by relevance using TF-IDF scoring.

Web
Build Your Own Virtual DOM
Build a tiny virtual DOM library with an h() function, a diff algorithm, and reconciliation that patches only the changed parts of the real DOM.
Advanced
21Hard, production-shaped systems. Many are AI.

AI & Agents
Agentic RAG Knowledge Platform
Build a hybrid-search RAG service that routes queries across retrieval, web fallback, and a reranker, with citations and an offline eval harness that scores faithfulness.

AI & Agents
Autonomous Coding Agent
Build an agent that reads a GitHub issue, plans, edits files in a sandbox, runs tests, self-corrects on failures, and opens a pull request, then score it on real SWE-bench tasks.

AI & Agents
Build Your Own LLM From Scratch
Train a small GPT-style model end to end: write the tokenizer, the transformer, pretraining, supervised fine-tuning, and a chat inference server you can talk to.

AI & Agents
Multimodal Semantic Search Engine
Index images and text into one embedding space with CLIP, build a low-latency vector index with metadata filtering, and serve cross-modal search where text queries find images.

AI & Agents
RAG Over Your Notes
A chatbot that answers from your own PDFs, notes, and Obsidian vault, with sources.

AI & Agents
Real-Time Voice Agent With MCP Tools
Build a sub-second speech-to-speech agent that calls live tools through a Model Context Protocol server you write, with barge-in, streaming audio, and turn-taking handled cleanly.

Data & ML
Fine-Tune and Serve a Domain LLM
Curate a domain dataset, fine-tune an open model with QLoRA, quantize it, serve it behind a fast inference endpoint, and prove the lift with an LLM-judge eval suite.

Data & ML
Real-Time Fraud Detection Pipeline
Stream transactions through Kafka and Flink, compute online features in a feature store, score them with a model in under a second, and watch precision and recall drift on a live dashboard.

Data & ML
Two-Tower Recommender Engine
Build a production recommender with two-tower retrieval and a ranking model, serve nearest-neighbor candidates from an ANN index, and run an offline-to-online A/B eval loop.

Data & ML
Vectorized Columnar Query Engine
Build a small analytical query engine that parses SQL, plans and optimizes it, and executes vectorized scans and joins over columnar Parquet files with predicate pushdown.

Security
Supply-Chain Security Scanner
Build a CLI that generates an SBOM for a repo, flags known CVEs and risky transitive dependencies, verifies build provenance with signatures, and gates a CI pipeline on policy.

Systems & CLI
Distributed Key-Value Store With Raft
Implement Raft leader election and log replication from scratch, build a replicated key-value store on top, add snapshots and membership changes, and survive partitions under a fault injector.

Web
Collaborative Editor With CRDTs
Build a real-time multiplayer document editor where edits merge without conflicts using a CRDT, sync offline-first over WebSockets, and show live cursors and presence.

Systems & CLI
Build Your Own Shell
Write a Unix shell in C that runs external programs, pipes them together, redirects their I/O, and handles signals like a real terminal.

Systems & CLI
Build a Text Editor
Write a terminal text editor in about 1000 lines of C with raw-mode input, VT100 screen rendering, syntax highlighting, and incremental search.

Systems & CLI
Build a Database
Build a small relational database with a SQL REPL, a paged storage engine, and a B-tree index that persists rows to disk.

Systems & CLI
Build Your Own Git
Reimplement the core of Git as a content-addressable store with init, add, commit, log, and branches backed by SHA-1 blobs, trees, and commits.

Games
Build a Ray Tracer
Write a physically based ray tracer that renders spheres with diffuse, metal, and glass materials, plus anti-aliasing and depth of field, to an image file.

Backend & APIs
Build a BitTorrent Client
Write a BitTorrent client that parses a .torrent file, contacts the tracker, and downloads a real file in pieces over the peer wire protocol.

Security
Build a DNS Resolver
Write a DNS resolver that builds and parses binary DNS packets over UDP and recursively resolves names starting from the root servers.

DevOps & Cloud
Build a Container Runtime
Run a process inside an isolated container using Linux namespaces, cgroups, and a chrooted root filesystem, with no Docker involved.
Pro
19Flagship, resume-defining builds, often from scratch.

AI & Agents
Agent Evaluation & Observability Harness
A test rig that replays agent trajectories against graded task suites, scores them with an LLM judge, and tracks regressions across model and prompt versions

AI & Agents
Build Your Own AI Coding Agent
A terminal coding agent that reads your repo, plans edits, runs tools in a loop, and opens PRs with a real agent harness and permission gates

AI & Agents
Multi-Agent Research Swarm
An orchestrator-worker system where a lead agent spawns parallel sub-agents that fan out web searches, critique each other, and merge a cited report

AI & Agents
Personal Agent That Lives in Your Chats
A Telegram and iMessage agent with long-term memory and a cron scheduler that proactively runs jobs, remembers context, and acts across your tools

Backend & APIs
Relational Database With a Query Planner
A SQL database engine with a B+tree storage layer, a write-ahead log, MVCC transactions, and a cost-based optimizer that plans real queries

Data & ML
LLM Inference Server From Scratch
A GPU inference server that loads open weights and serves them with a KV cache, paged attention, and continuous batching behind an OpenAI-compatible API

Data & ML
Text-to-Image Diffusion Model From Scratch
Implement a latent diffusion model with a U-Net denoiser and CLIP conditioning, train it on an image set, and sample new images from a text prompt

Data & ML
Train a Small Language Model From Scratch
Pretrain a ~100M-parameter transformer on your own tokenized corpus, then instruction-tune and align it with DPO until it follows chat prompts

DevOps & Cloud
Container Runtime From Scratch
A Docker-like runtime in Go that isolates processes with Linux namespaces and cgroups, pulls OCI images, and runs them with an overlay rootfs

Games
Physically-Based Ray Tracer
A from-scratch path tracer that renders photoreal scenes with global illumination, materials, and a BVH acceleration structure on multiple threads

Systems & CLI
Optimizing Compiler to Native Code
A compiler for a small typed language that parses to an SSA IR, runs real optimization passes, and emits native machine code via LLVM

Systems & CLI
Build a TCP/IP Stack
Implement a userspace TCP/IP stack over a TUN/TAP device that speaks Ethernet, ARP, IPv4, and ICMP and drives a real TCP connection through its full state machine.

Systems & CLI
Build a Programming Language
Build a complete dynamic language with a scanner, a Pratt parser, a single-pass bytecode compiler, and a stack-based virtual machine with its own garbage collector.

Systems & CLI
Write a C Compiler
Build a compiler that lexes and parses a growing subset of C and emits real x86-64 assembly, stage by stage, until it compiles non-trivial programs.

Systems & CLI
Build an OS Kernel in Rust
Build a bare-metal x86-64 kernel in Rust that boots, prints to the screen, handles CPU exceptions and hardware interrupts, and manages memory with paging and a heap allocator.

Games
Build a Game Boy Emulator
Emulate the Game Boy's CPU, memory map, timers, and pixel-processing unit accurately enough to boot the BIOS and run real commercial ROMs.

Web
Build a Browser Rendering Engine
Parse a subset of HTML and CSS into a DOM and style tree, lay it out with the box model, and paint the resulting boxes to a bitmap.

DevOps & Cloud
Build a Layer-7 Load Balancer
Build an HTTP reverse proxy that spreads requests across a pool of backends with active health checks and pluggable balancing algorithms.

Backend & APIs
Build an MQTT Broker
Build a publish/subscribe message broker that speaks MQTT with topic matching, QoS levels, retained messages, and persistent sessions on an event-loop server.