About build-your-own.org

James Smith

Hi, I’m James Smith, a software developer with over 10 years of experience. This is the website for my books and blogs.

I have an interest in fundamental knowledge and first principles, which is reflected in the topics of my books. My books cover topics such as network programming, data structures, databases, compilers, assembly, etc.

I also believe in the “from scratch” approach to learning, inspired by Richard Feynman’s quote “What I cannot create, I do not understand”.

Welcome to build-your-own.org.

A website for free educational software development materials.


for updates and new books.

Book Cover

Read the book “Build Your Own Redis” online.

Learn network programming and data structures.

By build stuff from scratch.

With straightforward C/C++ code.

Book Cover

Read the book “Build Your Own Database” online.

Learn 3 important database topics:

  • Persistence.
  • Indexing.
  • Concurrency.
Book Cover

New book:
“From Source Code To Machine Code”

Build your own compiler from scatch. Topics covered:

  • Interpreters.
  • Compilers.
  • x64 assembly.