Projects
A collection of my open source work. Most of my projects live at the intersection of aerospace, systems programming, and developer tooling.
astroz
Astrodynamics and Spacecraft Toolkit Written in Zig
My flagship project — a comprehensive library for spacecraft operations and astronomical computation. Born out of 8+ years working in aerospace and wanting to deeply understand the math behind orbit propagation.
Features:
- Orbital propagation with RK4 integration
- Impulse, phase, and plane change maneuvers
- Interplanetary transfer calculations
- Monte Carlo simulations
- CCSDS and VITA49 packet parsing
- TLE parsing and propagation
- FITS image file parsing
- Celestial precession calculations
oma
Runtime SIMD Dispatch for Zig
A library that automates multi-architecture SIMD targeting in pure Zig. Write your vector code once, and oma compiles it for each CPU level and picks the best implementation at startup — no bespoke per-project setup required.
Supported levels:
- x86-64: x86_64 → x86_64_v2 → x86_64_v3 → x86_64_v4 (SSE2 through AVX-512)
- AArch64: aarch64 → aarch64_sve → aarch64_sve2 (NEON through SVE2)
Packages the compile-per-target, link, and runtime-select pattern into a single build.zig dependency. Inspired by discussions around Zig's lack of function multi-versioning and the workarounds used in projects like Ghostty.
bebop.nvim
Neovim Colorscheme — "See you space cowboy..."
A colorscheme inspired by the visual style of Cowboy Bebop. Space western noir meets retro computing. Features three presets based on characters from the show.
Presets:
- Default — Balanced, warm, and versatile
- Spike — Cooler blues, more melancholic feel
- Faye — Vibrant pinks and purples, casino glamour energy
Full Treesitter and LSP support with highlights for Rust, Zig, TypeScript, Python, Go, and Lua.
swaddle
Swayidle Inhibitor for Wayland Compositors
A Rust utility that prevents Sway, Hyprland, or River from going idle while you're watching videos or listening to audio. Monitors D-Bus for playback status and automatically inhibits/allows idle as needed. No more screen dimming mid-movie.
Smaller / Older Projects
utdfgo
Spacecraft UTDF Packet Reader/Decoder in Go
A library for parsing Universal Tracking Data Format (UTDF) files — the standard format used in spacecraft tracking. Extracts time, azimuth, elevation, range, doppler, and AGC data from raw tracking packets.
s3downloader
Bulk S3 Bucket Downloader in Go
A CLI tool for downloading entire S3 buckets (or specific directories) using the power of goroutines. Configurable worker count for parallel downloads.
Find more of my work on GitHub