About
Full stack developer with 15+ years building products at startups and in open source — founder of JSON Resume, co-founder of cdnjs. These days I build agentic systems end to end: tool-calling copilots with LLM-as-judge gates, autonomous document pipelines on the Claude Agent SDK, a bitemporal knowledge substrate in Rust with Lean-verified invariants, and neural TTS/ASR for Aboriginal language revitalization. Also trained a GPT from scratch in TypeScript and Vulkan just to see how deep the rabbit hole goes. I ship fast and let user feedback steer.
Work Experience
Independent (contract & advisory)
Principal Engineer — AI (contract)
- - Built an in-app AI copilot: multi-provider tool-calling agent (Anthropic + OpenAI via Vercel AI SDK) with data-query and mutation tools, an LLM-as-judge quality gate scoring every response on 8 dimensions, and SSE keep-alive for long agent streams
- - Designed an autonomous report pipeline — one model plans the document, Claude Agent SDK runs write it against live data, a second agent pass compiles branded slide decks via a 90+ layout PPTX compiler with chart rasterization and LaTeX PDF output, agents running in a parallel containerized fleet
- - Moved heavy analytics server-side (Bun + Hono behind a Go gateway): pure-function ports oracle-verified for numeric parity with the client engine, event-keyed Redis caching, validated at 20k+ entity scale
- - AI data enrichment: ingested a ~32-table public occupational dataset, LLM-classified it into customer data structures, and built persona-driven simulation commands generating realistic test data at scale
- - Shipped a standalone real-time collaborative app on Cloudflare Workers + Durable Objects — WebSocket presence, optimistic updates with server reconciliation, embedded AI assistant with client-side tool execution
- - Hunted down multi-user concurrent-edit data loss with a purpose-built integrity harness: truly-parallel mutation racing, event-chain fork detection, contract tests driving real client reducers against the live API
Tokenized
Senior Javascript Developer
- - React
- - Redux
- - SCSS
- - Product
Blockbid
Senior Javascript Developer
- - React, Apollo, Styled Components
- - Node.js / Rails
- - Docker / Heroku / GCP
- - Used Figma for design and UX work
- - Optimizing markets with tens of millions of rows using SQL.
Listium
Developer
- - Worked with Postgres, Redis and Dynamodb for storage.
- - Hosted on a mixture of Heroku Apps and EC2 servers.
- - Caching by Fastly and Cloudflare
- - Hybrid app supported on all platforms
Electronic Frontier Foundation
Developer
- - Developed new tools for contacting congress
- - Brainstormed campaign ideas to raise maximum awareness about issues
- - Lots of social networking integration
Earbits
CTO
- - Managed a small team of developers and designers
- - Built the entire frontend application with Backbone.js
- - Transferred all of the infrastructure from Heroku to AWS
Taskforce.is
Developer
- - Generated 37,000,000 banner views
- - 100,000 phone calls to congress
- - 500,000 emails
- - 250,000 signatures
BackboneTutorials.com
Founder
- - Over two million unique visitors a year
- - 25,000+ ebook downloads
- - 300,000+ Youtube views
Ephox
Front-end Developer
Volunteer
MobTranslate
Creator & Maintainer
- - Neural TTS pipeline: MMS-TTS (VITS) driven through a grammar-grounded orthography bridge that maps Kuku Yalanji spelling onto a same-family Pama-Nyungan donor voice (per Patz's reference grammar), per-word phonemic IPA for 2,679 dictionary words, deterministic seeded synthesis with full provenance, and a per-language model registry
- - ASR for low-resource speech: wav2vec2/Omnilingual CTC fine-tuning pipeline with reproducible dataset builds, serverless training runs, and benchmark harnesses
- - LLM translation fine-tunes with research-grade evaluation: lexical censuses, prompt ablations, dose curves, failure taxonomies, and curriculum replay datasets across Kuku Yalanji and Mi'gmaq
- - Native Android keyboard (IME), community recording infrastructure where real speaker audio always outranks synthesis, and sentence-corpus pipelines that turn recordings into training manifests
- - CARE-aligned governance: synthetic voices are explicitly flagged as scaffolds, donor voices are borrowed until a community licenses its own, and per-speaker (elder) models require explicit, revocable consent
Education
The University of Queensland
Skills
Projects
JSON Resume
JSON Resume is the open standard for resumes as JSON. I founded it in 2014 and still run it. What started as a schema is now an ecosystem: a registry that renders any resume in 52 themes, AI job matching that embeds your resume and scores it against live Hacker News hiring posts, an in-browser editor, an MCP server that updates your resume while you code, and a Claude Code skill that interviews you and hunts for jobs on your behalf. The whole thing lives in one open source monorepo.
Donto
An evidence-first knowledge substrate for LLM-scale extraction: a bitemporal, paraconsistent claim store (Rust + Postgres) that keeps contradictory claims forever, anchors every claim to character-level source spans, and re-ranks by corroboration on an E0-E5 epistemic ladder instead of deleting on conflict.
TPMJS
The Tool Package Manager for AI Agents. An open-source registry and execution platform that automatically discovers, validates, and runs npm packages as AI agent tools via MCP, SDK, or CLI.
Omega
Self-evolving AI Discord bot with 80+ specialized tools, multi-database architecture, and autonomous development capabilities. Built with Vercel AI SDK, Discord.js, and Next.js.
Alpha
From-scratch GPT training and inference system built in TypeScript with a hand-written C Vulkan addon for GPU compute. No PyTorch or TensorFlow — custom tensor backend, autograd, tokenizers, training loop, and inference engine.
Blocks
AI coding validator with semantic guardrails. A development-time validator that lets AI agents write code freely while maintaining consistency through domain semantics and multi-layer validation.
Toiletpaper
Adversarial scientific-paper replication engine. Extracts a paper's claims into a statement graph, compiles them into typed replication units — metric recomputes, dataset integrity checks, equation checks, simulations — executes them, and emits verdicts: reproduced, contradicted, or fragile.
llm-benchmark
CLI that generates LLM-optimized variants of your functions, validates them for functional equivalence, and benchmarks them across providers. Published on npm as llm-benchmark.
cdnjs
Co-founded cdnjs, a free CDN for the JavaScript libraries Google's CDN didn't carry. Community-moderated and open source; we partnered with Cloudflare, who now runs the infrastructure.