John Ford

Projects

A hand-picked selection of projects that I build and maintain, in no particular order.

An interlocking suite of Rust projects for running AI agents on your own terms. Caliban is the harness itself: provider-agnostic across Anthropic, OpenAI, Gemini, and local Ollama, local-first by default, driven from a ratatui TUI or headless. Prospero is the control plane that launches, manages, and observes fleets of agents across repositories. Gonzalo is the git-backed persistence layer their memory lives in, with embeddings and vector search. Caliban Operator schedules the whole thing on Kubernetes through a CalibanTask CRD.

The organizing idea is operator control. You decide which model handles which task, what goes into the prompt, and where the memory lives. Routing is declarative, settings layer across four scopes, and permissions and hooks are first-class rather than bolted on.

  • Rust
  • Kubernetes
  • MCP

An interactive timeline of how the field arrived at agents, subtitled "From Machines that Think to Agents that Act." It traces seven decades of pivotal papers, from foundational AI research through large language models to the agent systems being built now.

Events are browsable by year and link out to the primary papers where those are available, alongside a references section and editorial commentary. It is built for researchers, students, and engineers who want the theoretical lineage behind the tools they use every day.

  • JavaScript
  • Research

visualizer.audio

visualizer.audio

A real-time audio visualizer running in the browser on the Web Audio API and Next.js. I built it and I run it. The public landing page is only a teaser: one visualizer, a handful of themes, and a track to try it against.

The Studio is the actual instrument. Signed-in users choose among visualizer types that range from bar spectra and concentric circles to Three.js scenes and WebGL shaders, then drive them from the signal up. The analysis side exposes FFT size, sample rate, gain, floor and ceiling thresholds, and data reduction; the render side exposes rotation, zoom, size, style, and full color control. Configurations carry across sessions, and live microphone input works alongside the built-in tracks.

It gets used three ways: musicians watching frequency response, DJs and venues who need stage visuals, and people who just want to see what their music looks like.

  • Next.js
  • TypeScript
  • Web Audio API

The capstone portfolio for my M.S. in Computer Science, collecting the work the degree was assessed on: a study of forensics inside a Kubernetes cluster, a survey of the cloud quantum computing market, and a machine learning analysis of Arapahoe County real estate data.

  • Research
  • Machine learning
  • Kubernetes