# From Scratch in Python

> Source: <https://robcox2910.github.io/>
> Published: 2026-11-01 21:38:45+00:00

# From scratch in Python

**Ever wondered what's really going on inside your computer?** How does it run lots of programs at once? How does a search box find one word in a million pages? How does a chatbot write a sentence? Here you build each of those things yourself, one small step at a time, and find out.

A series of 18 projects that build real things from scratch, so you can see how they work. They're all free, and written for curious people aged 12 and up.

## Why build it yourself?

- **It really works.** Every project runs. Switch on your own little operating system and type commands into it, write a program in your own programming language, or ask your own database questions.
- **Explained with everyday things.** Databases are explained with trading cards, search engines with a librarian, and Git with fingerprints and a diary. Grown-ups who never got to look inside are very welcome too.
- **No magic boxes.** Nothing important is hidden away. Every clever bit is written out for you to read, change and even break.
- **Small steps.** Each idea builds on the one before, so you're never thrown in at the deep end.

## How to start

Pick **PyOS** (a pretend computer you can switch on and type into) or **Pebble** (your very own programming language) and have a play. After that, follow whatever sounds fun: each card says which projects it builds on. **PyStack**, at the very end, joins everything together.

## Start here

## Storage

## Systems

- 
**[PyCrypt](https://robcox2910.github.io/pycrypt/)** Cryptography. [Source](https://github.com/robcox2910/pycrypt)
- 
**[PyNet](https://robcox2910.github.io/pynet/)** Computer networking. [Source](https://github.com/robcox2910/pynet)
- 
**[PyWeb](https://robcox2910.github.io/pyweb/)** HTTP web servers. Builds on PyNet, PyCrypt. [Source](https://github.com/robcox2910/pyweb)
- 
**[PyGit](https://robcox2910.github.io/pygit/)** Version control. [Source](https://github.com/robcox2910/pygit)
- 
**[PySearch](https://robcox2910.github.io/pysearch/)** Search engines. [Source](https://github.com/robcox2910/pysearch)
- 
**[PyMQ](https://robcox2910.github.io/pymq/)** Message queues. Builds on PyNet. [Source](https://github.com/robcox2910/pymq)
- 
**[PyLLM](https://robcox2910.github.io/pyllm/)** Language models (the brain). Builds on Pebble. [Source](https://github.com/robcox2910/pyllm)
- 
**[PyScheduler](https://robcox2910.github.io/pyscheduler/)** Job scheduling. Builds on PyDB, PyNet, PyWeb, PyMQ. [Source](https://github.com/robcox2910/pyscheduler)

## Putting it together

Made by [Rob Cox](https://github.com/robcox2910). Found a mistake or have an idea? Open an issue on any project's repository.
