Projects

Active Projects

Building a Web Browser in Rust — An 8-part blog series and accompanying code covering how to build a web browser from scratch in 100% Rust. Covers HTML parsing, CSS layout, the box model, text rendering, and basic JavaScript execution. A deep dive into how browsers actually work, motivated by my T-Deck project.

Embedded GUI Toolkit — A reusable UI toolkit for ESP32-based embedded devices written in Rust. Features dirty-rect rendering to avoid overdraw on slow SPI displays, a scene graph that works with Rust's ownership model, and a small set of primitive widgets. See the embedded Rust series on the blog for details.

PureImage — A pure JavaScript implementation of the HTML Canvas 2D API that runs server-side (Node.js). Useful for generating images, processing graphics, or running Canvas-based code in environments without a browser. Used in a number of server-side rendering pipelines.

AminoGFX-GL — A scene graph library for the Raspberry Pi using OpenGL ES. Designed for building hardware-accelerated kiosk and signage applications on Pi hardware. Bindings from Node.js to native OpenGL ES rendering.

SideDeck — A presentation framework built on web standards. Slides are HTML and CSS; the framework handles the presentation chrome, keyboard navigation, and speaker notes. Built on the premise that presentation tools shouldn't require proprietary formats.

PixelEater — A drawing application with a focus on pixel art and small-scale illustration. Built as an experiment in building a creative tool entirely from scratch in JavaScript, without relying on Canvas libraries.

MeowLang — A toy programming language built using the Ohm grammar framework. A learning project that turned into a reasonably complete expression of how to use Ohm for real language tooling: parsing, AST construction, and interpretation.

Archived Projects

Flying Saucer — A pure Java CSS 2.1 HTML renderer. Originally built at my previous employer, Flying Saucer became an open source project with an active community. It's still used in some PDF generation pipelines where a pure-Java solution is required. I'm no longer the primary maintainer but the project continues.

IdealOS — An exploration of what a modern operating system UI could look like if designed today with no legacy constraints. More of a design document and prototype than a shipping product, but the ideas have influenced my thinking about desktop application design.

Older projects — CAD experiments, desktop utilities, and various one-off tools — live in my GitHub repositories. Some are documented, some are not. Explore at your own risk.