---
title: Résumé
type: page
description: My résumé as text. The PDF is the one-page version.
tags: [resume]
related: [index.md, ../skills.md]
updated: 2026-10-16
---
# Résumé

## Experience

### 3D Western

- Co-led two data developers through Jira tickets and PR review on the print-approval dataset and benchmark.
- Built a labelled dataset from 4,620 scraped 3D models, rendered in Blender with labels checked by a VLM.
- Benchmarked small vision models as a binary safe-or-flag gate: 84.2% best agreement with VLM-checked labels.

### TeraGo

- Built outage ticketing for non-standard provider emails: a local LLM (Ollama) extracts the key details and opens Jira issues through Microsoft Graph; works end to end, not yet deployed.
- Wrote Channel Finder, a Python tool that finds clear RF channels in MapInfo data, validated on 760 test cases.
- Deployed a Copilot Studio agent that answers engineers' RF questions from SharePoint documents.
- Proposed a self-hosted LLM platform (LibreChat with SharePoint and Jira) to cut per-user Copilot licensing costs.

## Projects

### Campus

- Built a self-hosted AI study assistant that syncs my LMS courses into SQLite with Playwright and runs on any OpenAI-compatible endpoint, local or hosted.
- Designed hybrid retrieval over course files with embedding search, cross-encoder reranking and a lexical SQL prefilter. Fixed exact phrases that scored below the semantic cutoff.
- Wrote a 20-tool agent harness with an audit log for every AI write and a bounded tool loop, with 308 tests in CI.
- Use it across 6 courses for deadline lookups, studying from course slides, and reviewing drafts against briefs.

### NixOS homelab

- Defined a laptop and home server entirely in version-controlled NixOS config (27 hardened containers, Tailscale-only access, sops-nix secrets), so every change is a reviewable, reversible diff.
- Run one Hermes Agent profile per host that makes changes as config edits, over 472 sessions and 58,000 tool calls since June, with subagents taking larger investigations.
- Gated agent changes behind my approval and a nixos-safe-rebuild guard, with rollback to the last good build.
- Grew a git-versioned library of 191 agent skills on low-cost models, pruned weekly by a curator that keeps backups of removed skills.

### AWARE

- Built an on-device home-awareness system running YOLOv8 and YAMNet on a $80 Arduino UNO Q with QNN, with no cloud inference.
- Had an on-device LLM compile commands like "when glass breaks after 10pm alert me" into deterministic rules, then checked them every 500 ms with no LLM in the loop.
