# Projects

> Build real things end to end - small projects you follow step by step, with working code you can run in the browser or on your machine. The fastest way to make everything else stick.

16 guides.

- [Build a URL Shortener (Python)](https://themissingmanual.dev/guides/url-shortener-python) _(beginner)_ - Build a working URL shortener from scratch in Python - the data model, short-code generation, and lookup - running right in your browser, no setup.
- [Build a CLI To-Do App (Python)](https://themissingmanual.dev/guides/cli-todo-python) _(beginner)_ - Build a command-line to-do app in Python - add, list, complete, and save tasks to a file - runnable in your browser, then ready to run for real.
- [Build a Markdown-to-HTML Converter (JS)](https://themissingmanual.dev/guides/markdown-to-html-js) _(intermediate)_ - Write your own little Markdown-to-HTML converter in JavaScript - blocks, inline formatting, and escaping - built and run right in the browser.
- [Build an Expense Analytics Report (SQL)](https://themissingmanual.dev/guides/sql-expense-analytics) _(intermediate)_ - Go from a raw expenses table to a real monthly report in SQL - grouping, aggregates, and window functions - all runnable in your browser.
- [Build a REST API with FastAPI (Python)](https://themissingmanual.dev/guides/rest-api-fastapi) _(intermediate)_ - Build a real REST API with FastAPI - routes, validation, CRUD, and a database - set up and run on your own machine, the way you would at work.
- [Dockerize an App](https://themissingmanual.dev/guides/dockerize-an-app) _(intermediate)_ - Take a small web app and containerize it - a real Dockerfile, image caching, and a compose file with a database - built and run on your machine.
- [Build a Hangman Game (Python)](https://themissingmanual.dev/guides/hangman-python) _(beginner)_ - Build the classic word-guessing game in Python - masked word, guessed letters, dwindling lives, win/lose - running right in your browser (no input(), the play is simulated).
- [Build a Password Strength Checker (Python)](https://themissingmanual.dev/guides/password-strength-checker-python) _(beginner)_ - Build a password strength checker in Python - length and character-class rules, a score, and helpful feedback - runnable in your browser on a set of sample passwords.
- [Build a CSV Summary Report (Python)](https://themissingmanual.dev/guides/csv-summary-python) _(intermediate)_ - Turn raw CSV data into a summary report with Python’s csv module - parse rows, aggregate, group, and format - all runnable in your browser from an embedded sample.
- [Build a JSON Formatter & Validator (JS)](https://themissingmanual.dev/guides/json-formatter-js) _(beginner)_ - Build a JSON pretty-printer and validator in JavaScript - parse, format, explain errors, and check shape - runnable right in your browser.
- [Build a Web Scraper (Python)](https://themissingmanual.dev/guides/web-scraper-python) _(intermediate)_ - Build a real web scraper in Python with requests and BeautifulSoup - fetch, parse, extract structured data, paginate politely, and save it - run on your own machine.
- [Build a Real-Time Chat (Node + WebSockets)](https://themissingmanual.dev/guides/realtime-chat-node) _(intermediate)_ - Build a real-time chat app with Node and WebSockets - a server that broadcasts messages, a browser client, usernames, and rooms - built and run on your machine.
- [Build a Static Blog Generator (Python)](https://themissingmanual.dev/guides/static-blog-generator-python) _(intermediate)_ - Build your own static site generator in Python - parse Markdown posts with frontmatter, render them through templates you wrote yourself, generate an index, tag pages, and an RSS feed, then deploy the finished site for free.
- [Build a Mini UI Framework - The Magic, Demystified](https://themissingmanual.dev/guides/mini-framework-js) _(intermediate)_ - Build the machinery inside React, Vue, and Svelte yourself in ~120 lines of plain JavaScript: a proxy-based reactivity system, effects and computed values, a virtual DOM, and a diff.
- [Build a Real CLI Tool in Go](https://themissingmanual.dev/guides/cli-tool-go) _(intermediate)_ - Build til, a note-taking CLI in Go - subcommands, flags, safe JSON storage on disk, aligned table output, real tests, and cross-compiled binaries you can put on your PATH.
- [Build Your Own Key-Value Store (Python)](https://themissingmanual.dev/guides/key-value-store-python) _(advanced)_ - Build a tiny persistent key-value database from scratch in Python - an append-only log, crash recovery, an in-memory index, compaction, and a TCP server - and come out understanding how real storage engines actually work.
