Off the clock

Making

Things I build because I want to know how they work. Radios, meshes, models running on hardware that has no business running them. Nothing here was assigned.

A LoRa mesh across Phoenix

Deploying MeshCore nodes through the West Valley. Traced a board that received fine but never transmitted down to an antenna-switch bring-up bug in the I/O expander — fixed upstream in a community fork.

LoRa · MeshCore · Firmware · RF

Read

When to point an antenna at the sky

A pass planner for receiving satellites with a $30 software-defined radio. It predicts when each one is overhead and hands you everything needed to capture it: frequency, antenna length, radio settings, and the decode commands.

Python · Skyfield · RTL-SDR · Orbital mechanics

Read Code ↗

One model across two laptops

Pooling the GPUs of a Windows laptop and a Kali laptop over Ethernet to load a language model that fits on neither. It works, it's slower than you'd hope, and measuring exactly why was the point.

llama.cpp · CUDA · Networking · PowerShell

Read Code ↗

A flight tracker that fits in a pocket

Firmware for a card-sized ESP32 computer that shows live air traffic as a radar scope, a sortable list, and a detail card per aircraft — with a watchlist, logging to an SD card, and proximity alerts.

C++ · ESP32-S3 · PlatformIO · Embedded

Read Code ↗

Aircraft, from the desk

An RTL-SDR feeding readsb and tar1090 on Linux, plus a Flightradar24 feed. Built a V-dipole tuned for 1090 MHz and calibrated it against known traffic.

RTL-SDR · ADS-B · Linux · Antennas

Read

Language models on six gigabytes

Running quantized models on consumer VRAM — working out what Q4_K_M actually costs in quality, and reading enough of nanoGPT to know why attention works.

llama.cpp · Quantization · Transformers

Read

Contact

Let's build something.

I'm looking for data science, machine learning and AI engineering roles in Phoenix or remote — and I'm always happy to talk about models, retrieval, or why yours is overfitting.