joey.hersh

home / lab

The lab.

22 entries in five chapters. Each one says what state it's in, because "project" can mean anything from a running service to a notebook that ate a thousand dollars.

01 chapter

Agent systems and tooling

Harnesses, sandboxes, memory, simulation, and the frameworks I built before the popular ones existed.

GBrain and the Living Atlas

2026Operating, with tests for HTTP and MCP contracts, graph, temporary access, and deployment

The pgvector-backed knowledge base behind Joy and the navigable graph surface over it. At last read it held 1,393 compiled pages and about 6,500 source chunks in a 465 MB database, built from massive initial ingestions of years of daily notes, meeting transcripts, message history, people records, documents, and books, and it grows every night. The Atlas adds role-scoped temporary access so an agent or a person can be handed a bounded window into memory without a permanent credential.

I wanted to be able to look at what the agents remember, and to lend that memory out safely.

  • Python
  • PostgreSQL
  • pgvector
  • MCP

GBrain and the Living Atlas, in twenty-five seconds

GBrain: the memory behind Joy. About 1,400 compiled pages and 6,800 source chunks on pgvector, every fact cited to a source with a time boundary, nightly updates that say what was learned, and a Living Atlas that can lend a bounded window into memory without handing out a credential.

thumbnail from the original resume site for the first-generation Cyrus

Cyrus, first generation

2023Superseded by Cyrus-v2

A 2023 project built on the original release of LangChain, with large parts of its underlying mechanisms reimplemented from scratch: an event-driven multi-agent framework with an asyncio state-machine flow engine, native tool calling, model routing, Bedrock and Perplexity agents, a VS Code extension, and a Streamlit UI. The first working draft landed the week AutoGen launched.

I wanted reproducible agent workflows before the frameworks did.

  • Python
  • LangChain
  • asyncio
  • TinyVDB

Cyrus, first generation, in twenty-five seconds

Cyrus, first generation (2023): an event-driven multi-agent framework on the original LangChain, with a state-machine flow engine, one tool-calling contract across GPT-4, Gemini, Claude, and Bedrock, cost on every call, a shared workspace, a VS Code extension, and a vector DB with no server. It worked the week AutoGen launched.

TinyVDB

2024Used inside Cyrus and other projects

A vector database that runs inside your application with built-in embeddings, cosine and Euclidean search, metadata filtering, and disk persistence. No server to run.

Most projects need a vector index. Few need a vector service.

  • Python

Spec-driven data-migration agents

2025Innovation-sprint prototype at my employer

A fork of the Gemini CLI with spec-driven development baked in. A project type is defined in JSON: stack, scaffolding, guardrails, and how a feature should be created. Sub-agents follow the spec, and a search sub-agent surfaces prior patterns from mock internal tools.

Repeatable, reviewable feature skeletons with the right files in the right places, ready for a human to finish.

  • TypeScript
  • Gemini CLI

An afternoon with an AWS product team

2026Delivered. One session.

Consulted on a roughly $100 million enterprise deal. An AWS product team was positioning what became Amazon Quick Suite against n8n and Make, and they needed someone who had run n8n hard enough to know where it breaks at enterprise scale: who can see the data, who can audit a run, what happens to credentials, and what happens when the vendor pivots. I reviewed the product, walked through each of those failure modes, and told them which ones their design already answered. Independent advisory, not a partnership or an endorsement.

Explaining a technical choice to people who won't read the code is most of the job.

  • Amazon Quick Suite
  • Bedrock Flows
  • n8n
  • Make
02 chapter

Models and data

Training runs, classifiers, retrieval before the acronym, and one thousand-dollar mistake.

DeepQuote

2019 – 2020Complete

GPT-2 fine-tuning on a narrow conversational corpus to reproduce individual writing styles, across the 124M, 335M, and 1.5B models. Discovered that 9.6% of generated quotes were verbatim training data. My first real lesson in overfitting.

Where "building with AI since 2019" actually starts.

  • Python
  • GPT-2
  • Google Colab

PDF document QA, August 2022

2022Complete

Heuristic summarization to shrink a document into a context window, keyword and synonym weighting from the question, then OPT-1.3B and later GPT-3 answering in a command-line chat. Built to read hundreds of articles for a business plan, three months before ChatGPT.

Retrieval-augmented generation before the acronym.

  • Python
  • OPT-1.3B
  • GPT-3
thumbnail from the original resume site for FIRESight

FIRESight

2024Prototype

Adaptive Monte Carlo financial-independence simulation with over 150 parameters, where Bedrock-hosted agents add parameters, request inputs, and generate new simulation logic in response to "what if" questions.

An early attempt at agents that modify the model rather than just run it.

  • Python
  • AWS Bedrock

Cat facial recognition

2023Research project, complete

Non-invasive biometrics for identifying missing cats from video. OpenCV cascade extraction, a CNN and an SVM on a pre-trained backbone, 98% and 100% on held-out frames from twelve cats.

Small dataset, careful evaluation, a real animal-welfare use.

  • Python
  • OpenCV
  • PyTorch

AWS DeepRacer

2024Game day

Reinforcement learning on a real track: state-dependent rewards, a hand-crafted discrete action space, a penalty on steps per progress, and racing-line waypoints as a supervised hint.

Reward design is system design.

  • Python
  • AWS DeepRacer

SewingPatternSearch

2025Working Streamlit tool

Text and visual search over a library of sewing-pattern PDFs. Multimodal retrieval for a domain that has none.

Built for a real person with a real shelf of PDFs.

  • Python
  • Streamlit
03 chapter

Hardware, home, and a book

Things with uptime, things on a convention floor, and one argument in progress.

Media operations platform

2022 – presentOperating

Request-to-availability automation for a large self-hosted library: intake, search, fetch, import and repair passes, quality profiles, subtitle handling, and a parity check that confirms a fulfilled request is actually playable. The fetch tier runs behind Gluetun, a containerized VPN client that owns the network namespace for three services, with a kill switch and a small port-forwarder that reads Gluetun's forwarded port and updates the client, so nothing leaks and nothing stalls when the tunnel rotates.

Idempotent fulfillment across a network boundary you don't control is the same problem shape as any third-party data pipeline.

  • Docker
  • Gluetun
  • Unraid
  • Python
an isometric home server tower with many small container boxes stacked inside like drawers, one drawer open

Lampyr

2022 – presentOperating. About fifty containers across nine Compose stacks.

The Unraid host under everything: agent runtimes, browser infrastructure, databases and queues, productivity services, media, and household automation. I ran two Kubernetes clusters here once and simplified on purpose.

You learn what operational debt means by owing it to yourself.

  • Unraid
  • Docker Compose
  • PostgreSQL
  • Redis
  • RabbitMQ

Fabrication tools

2025Delivered CAD, layouts, and generators; some builds unconfirmed

A local-first Jenga-set generator with a Flask API and React front end that renders laser-ready layouts from folders on disk, plus parametric CAD, lithophane image processing, and a seven-foot 3D-printed relief.

Deterministic outputs, and local when privacy or payload size makes cloud the wrong choice.

  • Python
  • Pillow
  • Flask
  • React
  • Fusion 360

XKCD screensaver

2022Shipped in 2022. Still runs.

A Lambda that syncs the daily comic to a TV through Flickr. The smallest useful system on this page.

Small, scheduled, and four years old.

  • Python
  • AWS Lambda

A book on machine consciousness

2026 – in progressIn progress, with a friend

A collaborative research and writing project on subjective experience, world models, embodiment, global workspace theory, and interpretability. My position is provisional and leans toward possible machine experience without claiming current systems have it.

Because I think the question is real, and because writing is how I find out what I think.

  • Reading
  • arguing
+ systems

Four more systems with full routes.

Not on the home page, still with a diagram and a role.