Projects · Things I've built

Things I build to
understand them.

A small collection of projects where I reverse-engineer the tools I rely on — interpreters, state libraries, the machinery underneath. Building them is how I learn how they really work.

Selected work

Monkey Language Interpreter

A programming language interpreter built from first principles — twice.

A full interpreter for the Monkey language, built from scratch following Thorsten Ball's Writing an Interpreter in Go — then re-implemented in Rust to contrast the two languages' approaches to ownership and pattern matching.

  • Hand-written lexer and Pratt parser
  • Tree-walking evaluator with closures and higher-order functions
  • Interactive REPL
  • Implemented in both Go and Rust
GoRust

Redux, From Scratch

Reverse-engineering Redux's core to learn how predictable state really works.

A from-scratch reimplementation of Redux's core, reverse-engineered from the library to understand exactly how its predictable state container is wired together.

  • createStore with dispatch / subscribe / getState
  • Reducer composition
  • Middleware via applyMiddleware
  • Action dispatch and listener flow
JavaScript