Summary

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.

Professional Experience

Principal Engineer — AI (contract)

Independent (contract & advisory)

May 2021 - Present

Principal-level contract engineering, most recently owning the AI capability of an HR-tech SaaS end to end: the agentic layer of the product — an in-app copilot with tool-calling over live customer data, autonomous document-generation pipelines, and the server-side compute services underneath — while shipping across the full stack (PHP/GraphQL, React, Go gateway, edge services).

  • 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

Senior Javascript Developer

Tokenized

May 2020 - May 2021

Tokenized is a Bitcoin wallet for issuing, managing and trading digital tokens. I built the frontend, shipped as an Electron app. The hard part: keys never leave the user's machine, so all transaction and contract signing happens locally — which meant getting key management and security right in the UI layer.

  • React
  • Redux
  • SCSS
  • Product

Senior Javascript Developer

Blockbid

Mar 2018 - Jan 2020

Blockbid is an Australian crypto currency exchange. I started off on the frontend but eventually became tech lead and worked on every moving piece of the exchange. I really enjoyed working with liquidity providers and connecting their platforms to help us achieve liquid markets.

  • 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.

Developer

Listium

Jan 2016 - Jan 2018

Built a large React/Redux application that runs everywhere — web, iOS and Android — as a PWA wrapped in a thin React Native shell. One codebase, every platform.

  • 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

Developer

Electronic Frontier Foundation

Apr 2014 - Jan 2016

Hired to take EFF's campaigning to the next level by building an action centre in Ruby on Rails. The action centre is built around some large open source tools that lower the barrier to entry when contacting congress.

  • Developed new tools for contacting congress
  • Brainstormed campaign ideas to raise maximum awareness about issues
  • Lots of social networking integration

CTO

Earbits

Mar 2013 - Jan 2015

Started off as a front end developer but took on the role of CTO in early 2013. The application frontend is built with Javascript and organized as a single page application that talks to a collection of Rails web servers which are connected to MongoDB.

  • 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

Developer

Taskforce.is

Jun 2013 - Jan 2016

Worked on many politically charged campaigns against mass surveillance. Not only technically challenging work but also a lot of networking and getting my hands dirty with politics. Our biggest campaign was "The Day We Fight Back."

  • Generated 37,000,000 banner views
  • 100,000 phone calls to congress
  • 500,000 emails
  • 250,000 signatures

Founder

BackboneTutorials.com

Jan 2011 - Jan 2014

I write tutorials and blog post regarding the popular Javascript framework Backbone.js. The tutorials cover a range of topics regarding front end development aimed at beginners, experts and anyone in between.

  • Over two million unique visitors a year
  • 25,000+ ebook downloads
  • 300,000+ Youtube views

Front-end Developer

Ephox

Jan 2011 - Jun 2012

Ephox is a worldwide company who is heavily involved with the development of TinyMce and enterprise editors. My primary role included building front-end widgets and applications. Worked on a major product using Backbone.js as a base. Heavily involved in UI/UX design and wire-framing. Also spend a lot of time designing API specifications and documentation.

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.

  • This resume is built with JSON Resume
  • 7,000+ GitHub stars across the project's repos; tens of thousands of users
  • Built the AI registry: embedding-based job matching against live Hacker News hiring posts — hybrid retrieval + LLM reranking with a gold-set eval harness that lifted P@5 from 0.2 to 0.8
  • 52 first-party themes rendered server-side, with render and section-coverage CI gates on every one
  • Maintain the published packages: @jsonresume/schema, resume-cli, @jsonresume/jobs, @jsonresume/core, json-resume-serde (Rust)

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.

  • 22-crate Rust workspace with a custom 19-clause query language (DontoQL) plus a SPARQL subset over the same algebra, and bitemporal AS_OF time travel
  • Policy-gated Trust Kernel: default-deny attestations with written rationale, max-restriction provenance inheritance, full audit log
  • 62 machine-checked Lean 4 theorems proving core model invariants; Ed25519/did:key signed reproducible releases (RO-Crate)
  • Live at 42M+ statements, 1.1M model-minted predicates, 3.5M evidence links — embedded by a distributed volunteer compute fleet
  • Powers an agentic-memory runtime (MCP), a paraconsistent wiki, and genealogy research

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.

  • Auto-discovers npm packages with tpmjs keyword
  • Sandboxed tool execution via Deno runtime
  • MCP aggregator for connecting tool collections to Claude, Cursor, etc.
  • Agent platform for building, sharing, and forking AI agents

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.

  • 80+ AI tools including code execution in 42+ languages
  • Self-evolution capability — analyzes behavior and proposes improvements via GitHub issues
  • Dual database architecture (PostgreSQL + MongoDB)
  • AI-powered decision making for natural conversation participation

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.

  • Custom tensor backend with tape-based reverse-mode autodiff
  • Hand-written Vulkan GPU backend with TS-generated SPIR-V kernels
  • Full training pipeline: BPE tokenizers, checkpointing, eval, sampling
  • OpenAI-compatible chat API, CLI, web dashboard, and TUI

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.

  • Domain specification via blocks.yml for entities, signals, measures, and rules
  • Multi-layer validation: Schema, Shape, and AI-powered Domain checks
  • Semantic feedback loop for AI coding tools
  • Drift detection between code and specification

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.

  • Ran the KAN (Kolmogorov-Arnold Networks) paper through it: 102 claims extracted, 24 reproduced, 3 contradicted
  • Built on Donto, a bitemporal knowledge graph that tracks what's known, when it was learned, and with what confidence

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.

  • Self-validating: generated variants are proven functionally equivalent before benchmarking
  • Cross-provider (OpenAI, Anthropic, Ollama) and polyglot (JS/TS, Python, Rust, Go)
  • TUI plus built-in cost analysis

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.

  • Used by millions of sites in production
  • Serves JS/CSS assets to a double-digit share of all websites — billions of requests a month
  • 10,000+ GitHub stars

Volunteer

Creator & Maintainer

MobTranslate

Jan 2020 - Present

Open-source language revitalization platform for Aboriginal Australian languages — dictionaries for dozens of languages, community voice recording, and a full speech/ML stack built with the community, not just for it.

  • 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

Awards

Defender of the Internet

Awarded by Fight For The Future

Oct 2014

For my work against mass surveillance and building out civic tools for digital democracy.