AI/LLM and geospatial/GPU software engineer. Rust and TypeScript. I build production LLM systems, GPU map rendering, and the cloud infrastructure that runs them. Remote, based in Waco, TX.
Not the Doom guy. Different guy.
Currently: a lot of Martin (mostly the 2.0 release) and custom projections in MapLibre GL JS.
MapLibre voting member since August 2026. Counts below are merged PRs and link to the receipts.
- maplibre/martin - 120 since July 2026: tile caching, PMTiles on S3 and Lambda, tile grids beyond Web Mercator, a Rust harness for the e2e tests, and the 2.0 cleanup and migration guide.
- maplibre/maplibre-gl-js - 40: rebuilt the benchmark suite on Vitest bench, then render-path work (integer vertex attributes, terrain elevation sampling, a CPU raycast replacing framebuffer picking) and custom projections for non-Mercator tile grids.
- maplibre/maplibre-agent-skills - 19: eval-gated releases and an upstream release watch.
- biomejs/biome - 16: Tailwind v4 class sorting in
useSortedClasses(variants, container queries, the!suffix). - specta-rs/specta - 14 toward 2.0-stable: enum rendering fixes, zod 4 output, the OpenAPI exporter, a bigint remapper.
- maplibre/maplibre-tile-spec - 11: the
mltterminal UI (background scanning, a decoded-tile cache, layer summaries, tessellation drawing).
AI / LLM
- promptward - an LLM gateway that catches prompt injection and data exfiltration, validates structured output, and meters cost. Wire-compatible with the OpenAI and Anthropic SDKs. The eval harness proves the detection rate. Live.
- llm-extract-evals - schema-validated LLM data extraction with a confidence-gated evaluation harness: per-field accuracy, failure taxonomy, deterministic offline replay.
- sidework - a Claude Code skill that runs each task in a git worktree beside the checkout, because one nested inside it can pick up the checkout's Cargo config, just recipes, and node_modules. Evals included.
Geospatial / GPU
- geo-desktop-bench - benchmarks for the fastest geospatial desktop stack: deck.gl and MapLibre on WebGL2, Tauri vs Electron, DuckDB and PMTiles. Report and demos.
- deck-wind-layer - a deck.gl v9 wind-particle layer: GPU advection, comet trails, constant on-screen density at any zoom.
- glslint - a GLSL checker and language server that understands deck.gl/luma.gl shader modules (Rust).
Rust / systems
- tauri-plugin-tracing - logging for Tauri through the
tracingcrate. 32k downloads on crates.io. - tauri-typed-ipc - trait-based, type-safe Tauri IPC built on specta. Sync by default, async opt-in.
- typed-geojson - strongly-typed GeoJSON for Rust (
Feature<G, P>/FeatureCollection), specta-compatible. - accept-payments - a payments and invoicing API in Rust/Axum on the AWS Lambda Rust runtime.
Frontend
- tradecn/ui - trading-terminal components for shadcn/ui: grids that take a feed, prices in 32nds, scoped hotkeys, order tickets.
shadcn addcopies the source into your repo. Docs and demos.
Benchmarks
- warefeats - benchmarks for developer tools with the runs attached: Redis vs Valkey vs Dragonfly, Martin vs Tegola vs BBOX, MapLibre vs Mapbox, Tauri vs Electron, ESLint vs Biome, Varnish vs NGINX. Every result names the rig, pins the versions, and publishes every pass.
Shipped (all since July 2026)
- lux - DMX stage lighting, on the App Store for iOS and macOS. Rust, Tauri, and an Enttec or sACN/Art-Net node, auto-detected.
- vegify.app - plant-based nutrition tracking, on the App Store.
- Message to PDF - exports an iMessage or SMS conversation to a PDF that looks like Messages, all on your Mac. GPL-3.0 on GitHub, with a signed build for sale.
Before this: primary author of a safety-critical aviation flight-planning desktop app, lone architect of a real-time analytics platform.
Rust, TypeScript, React, Tauri, Node, Python | deck.gl, luma.gl, MapLibre, WebGL, PMTiles | Axum, Tokio, PostgreSQL | AWS (Lambda, CDK), Terraform, GitHub Actions | LLM production: extraction, evaluation, structured output, injection defense



