Personal Projects
-
Local-first and distributed systems contributions (current)
Rust • Python • CRDTs • distributed systems
I've contributed documentation, tests, and CLI improvements to Holochain, Automerge, and Iroh while learning the design tradeoffs around P2P networking, CRDTs, DHTs, and local-first architectures.
-
whipsnake (current)
Rust • Python • WebAssembly
I implemented a hand-written lexical analyzer, recursive-descent parser, AST generator, and tree-walking evaluator for a strict subset of Python. The interpreter currently supports literals, operators, control flow, loops, and functions. I'm exploring WebAssembly as both a compilation target and a stack-based virtual machine to move beyond the performance limits of tree-walking interpretation. Inspired by Robert Nystrom's Crafting Interpreters.
-
keith-shareit (2026)
Rust • Iroh • Ratatui
A peer-to-peer media transfer library written using the Iroh network stack. Supports mDNS for automatic discovery of devices on the same LAN, or Iroh's ticketing system for connection across broader networks. Built on a filesystem store to minimize RAM consumption during transit. Uses Tokio for asynchronous communication between the TUI and backend components.
-
Mojo ecosystem & local-first tooling contributions (2025)
Mojo • Python
I made contributions to the Mojo standard library and documentation, and added features to the Python API client for the Anytype local-first knowledge management system. I also revamped the client's documentation infrastructure, migrating it from GitHub Markdown files to a hosted MkDocs site.
-
Monkey compiler (2024)
Python • Monkey
Two implementations of the Monkey programming language from Thorsten Ball's books: a tree-walking interpreter, and a bytecode compiler and accompanying stack-based virtual machine to run it. This was my first compiler project and I was focused on Python at the time, so I wrote it in that rather than something more, uh, suitable.
-
Moreno music map (2020)
JavaScript • Spotify API
A client-side data visualization app built on the D3.js framework and the Spotify API. It helps users discover new music by visualizing connections between artists in a force-directed graph. Previews of artists' music can be played in the browser by clicking on the nodes.