The skill set, in plain text

What I actually build.

Full-stack AI engineer: model layer, retrieval, agents, the interface on top, and the deployment that puts it on the internet. Every number below is measured off the running system, not estimated — where a figure couldn’t be verified against something on disk, it isn’t here.

LLM application engineering

  • RAG & hybrid retrieval
  • Agent orchestration
  • Evaluation harnesses
  • Tool-calling & streaming
  • Structured output, defensive parsing

Local & private inference

  • MLX on Apple Silicon
  • Quantized 35B-class models
  • OpenAI-compatible gateways
  • Model routing & A/B
  • GPU contention scheduling

Integration & data

  • Postgres + pgvector
  • NL→SQL with safety guards
  • PII detection & substitution
  • Multi-tenant isolation
  • Legacy platform bridges

Front end & real-time graphics

  • Next.js / React / TypeScript
  • Three.js & WebGL
  • Canvas 2D, PixiJS, Phaser
  • Scroll-scrubbed video engines
  • Responsive & mobile-hardened

Motion & generative video

  • Local diffusion video pipelines
  • Higgsfield / Draw Things CLI
  • Frame-locked seamless chaining
  • ffmpeg grade, encode, scrub-tune
  • GPU job queues & contention guards

Deployment & operations

  • Manifest-driven deploys
  • Cloudflare Pages & Tunnel
  • Docker, launchd, pm2
  • Managed services & watchdogs
  • Playwright QA in the pipeline

Selected work

The receipts.

Six systems, all built and running. The scroll above is these, as a place.

Long-term memory for an AI coding agent

Indexes every past session into Postgres, scores them with a local LLM judge, embeds the keepers, and injects the relevant ones back into new sessions automatically. Retrieval is vector search fused with full-text by Reciprocal Rank Fusion. A separate audit layer extracts testable claims from past answers, checks them against the filesystem, and flags the false ones on recall — the system catches its own hallucinations.

6,592 sessions 650,953 turns pgvector HNSW · 1024-dim RRF hybrid retrieval Python · Postgres · Ollama

Autonomous multi-agent coding loop

A local model works a backlog across parallel project lanes overnight while a frontier orchestrator reviews and promotes the work. Orchestrator and workers are strictly separated — workers verify but never write. A verdict only counts if it carries an exit code, a quoted log tail and a file reference, so unproven passes get demoted. Includes atomic task claiming with stale-claim recovery and three-strike escalation to a human.

2,638 commits 8 parallel lanes 9 weeks Evidence-gated verification

Multi-tenant AI layer for a tour company in New Zealand

A production platform where every AI task defaults to a local model, and only routes to a frontier provider when a tenant admin explicitly opts that task in. Before anything can leave the box, a local NER model running in an isolated subprocess finds and substitutes personal data, which is rehydrated on the way back. Natural-language reporting compiles to SQL behind a safety guard, with a stored-query fast path.

53 AI-backed API routes Consent-gated routing Local PII substitution Next.js · Postgres · ONNX

Private OpenAI-compatible inference service

A drop-in replacement for OpenAI in a production deployment: the legacy platform points at it unchanged. Four task-specific skills are routed by the requested model name, with no silent fallback on an unknown one. The SQL skill is grounded with few-shot examples retrieved by cosine similarity from an embedded corpus, and degrades gracefully if the vector store is missing. Zero third-party dependencies.

225 embedded query pairs 4 routed skills Zero dependencies Runs as a managed service

Model evaluation harnesses

Unattended bakeoffs that gate adoption on the things that actually break an agent loop. A candidate 35B model was disqualified outright for failing tool-calling before it ever reached production; survivors were throughput-benchmarked on identical hardware. Results include an honest limitations section and a documented negative result rather than a buried one.

Tool-call gating Same-hardware benchmarks Negative results published

Synthetic training-data pipeline

Generates natural-language→SQL training pairs by wrapping the live production system prompt and schema around a local 35B model, so every pair is in the exact dialect the real system expects. Generated SQL is validated against an in-memory database before it’s kept, and prompt changes are scored as pass-rate against a frozen validation set.

~9,000 validated pairs SQL-validated on generation Frozen-set scoring

Background

Thirty years of production systems.

Certified FileMaker developer and independent consultant. Before AI: student information systems for a K–12 board and a private school, a Fortune-500-facing developer role at one of the largest FileMaker premium partners in the world, e-commerce search during the dot-com boom, and a college instructor in dynamic web development. The reason the AI work lands in production is that the production part was never the new bit.

PythonTypeScriptNode Next.js / ReactPostgres + pgvector SQLiteMLXOllama ONNX RuntimeDockerCloudflare FileMakerPlaywrightffmpeg

The front end

Twenty-two live sites. Go and click them.

Every thumbnail below was captured from the live site today, and every one is a link. Cinematic scroll-worlds on a video engine I wrote, real-time 3D in Three.js, and games — all built, deployed and still up.

Cinematic scroll-worlds — pre-rendered camera flights, scrubbed by scroll

Real-time 3D — Three.js / WebGL

Games — Canvas 2D, one mechanic each

Product & editorial

Motion

I build the video pipeline, not just the clip.

The scenes you scrolled through were generated, chained frame-to-frame so the camera never cuts, colour-graded per scene and encoded for scroll-scrubbing — then verified in a headless browser that measures every seam. Separately, I run a local diffusion-video rig on Apple Silicon with a job queue that arbitrates GPU time against a language-model workload on the same machine, including pause and resume at segment boundaries.

Frame-locked seamless chaining Per-scene ffmpeg grading Automated seam QA Single-GPU job scheduling Higgsfield · Draw Things · ffmpeg

Open to

Remote AI engineering.

Full-stack: I take AI work from the model layer through the interface and out to a live URL. Forward-deployed / solutions engineering, applied AI, or AI-heavy product work. Based in Ontario, Canada. Remote, and comfortable with it — everything above was built that way, alone, from this desk.

The scenes above are AI-generated and colour-graded; the camera move is one continuous pre-rendered take, scrubbed by scroll. Built, and the numbers verified, by me.