Data engineer and systems developer based in Calgary, AB. I build production-grade data pipelines, intelligence frameworks, and algorithmic trading infrastructure — primarily in Rust and Python.
Most of my active work lives on a self-hosted Gitea instance and is mirrored here. Private repos are noted where operational security or client data is a factor.
charcoal — Declarative, DataFrame-native chart library for Polars. No browser, no Python bridge, no C FFI. SVG, HTML, and PNG/JPEG/WEBP output via pure-Rust rendering. Built because the Rust ML ecosystem had no first-class visualization story for DataFrames.
stellar_voyage — Multi-stage Rust data pipeline ingesting ESA Gaia DR3 (~1.8B stars) and NASA Exoplanet Archive via ADQL. Zero-copy binary deserialization via rkyv for sub-millisecond runtime asset loads. Includes a field-level data provenance classification system tagging every record by observation quality, and a Bevy-based space exploration front end built on the processed catalog.
CITP (private — operational security) — Congressional intelligence and statistical arbitrage platform. Post-ingestion intelligence layer converting raw regulatory filings and congressional disclosures into confidence-scored, workflow-ready signals. Includes a cointegration-based crypto pairs arbitrage engine with walk-forward backtesting and Sharpe-gated live execution, an options pricing system with full Black-Scholes Greeks and Newton-Raphson IV solver, and a multi-source weighted signal aggregator with entity relationship modeling. Live trading infrastructure kept private by design; model layer sanitization in progress.
SwimDB (private — client data) — Analytics platform for competitive swimming organizations. Three-layer medallion architecture in DuckDB and Parquet with a Polars/Python ETL pipeline. Delivers athlete performance tracking, national rankings comparisons, and development trend reporting to club clients. Replaced manual spreadsheet workflows with automated, queryable data infrastructure.
MAGI (private) — Multi-agent LLM orchestration framework. Five independent model instances evaluate queries in parallel with strict information isolation; a sequential integrator synthesizes blind votes using configurable majority threshold, dual-safety veto logic, and high-confidence override. FastAPI backend with structured audit logging and full Docker Compose deployment.
- Systems & pipelines: Rust (tokio, axum, polars, arrow, rkyv, bevy), Python (Polars, DuckDB, FastAPI)
- Data: Apache Arrow, Parquet, DuckDB, TimescaleDB, PostgreSQL, Medallion Architecture
- Infrastructure: Proxmox VE, Kubernetes (Talos), TrueNAS/ZFS, Linux, Docker, CI/CD
Twelve years running data-driven performance programs in competitive sport before moving full-time into software and data engineering. That background shows up in how I approach systems: operational reliability matters, complex findings need to be communicable to non-technical stakeholders, and things need to hold up outside of controlled conditions.
Public repos here are either open source projects or sanitized mirrors of private Gitea work. Commit history is preserved on migration.