A research lab at night: three people work at a long bench by lamplight, among brass instruments, glass and brass spheres and a small potted plant, while strung lights shaped like a spider web and turtles traced in stars fill the windows.

Plainsight Systems builds things to understand them.

What I cannot create, I do not understand.
Richard Feynman, on his Caltech blackboard, 1988

Each project starts from first principles, hand-rolls what a library would hide, and follows the choke points it finds back to the question underneath. The work crosses fields on purpose: inference, compression, rendering and systems performance keep turning out to share the same problems.

Builds

A small spider in a web of strung lights at night, with words woven into the threads.
charlotte

What does inference cost when nothing is hidden?

A transformer inference engine written by hand in C++, compiled to WebAssembly, with compute in WebGPU and no framework. Running open-weight models in the browser lets me follow the cost of inference through the code, from loading weights to producing a token.

A green parrot speaks into a brass listening horn, with glowing marks becoming handwriting above an open notebook in a lamplit study.
dolittle

What do we learn from two views of a thinking model?

An experiment in comparing a model's generated thinking with natural language descriptions of its internal activations. I read Anthropic's work on natural language autoencoders and wanted to build the machinery myself, so I could inspect both views at the same point in a generation and explore where they agree or differ.

Glass and brass spheres on a table at night, lit by fireflies that settle into the outline of a small ship.
serenity

What can rendering teach us about GPU inference?

A C++ and Metal path tracer for exploring techniques that also matter to inference: processing work in small pieces, keeping a small amount of state, and reusing earlier work. ReSTIR shares sampled paths across pixels and frames; marbles lit by moving fireflies give me a picture at the end, where people can see what the kernel work makes possible.

A small electrical transformer rests in a wooden cradle under a brass desk lamp, with a red power lead trailing onto the workbench.
cradle

Can we build a transformer inference engine we can follow all the way through?

The code behind Let's Build a Transformer!, a practical series for .NET developers. We build one growing program in C# with ILGPU, write the GPU kernels ourselves, and introduce the math when the code needs it. Each lesson adds something we can run and check, following Jack Crenshaw's approach in Let's Build a Compiler!

A relay-bank maze with a small mechanical mouse following a red thread toward the way out.
ariadne

What would an information-theoretic approach to attention look like?

A research program investigating attention through information theory, starting where the field started: Shannon's 1948 paper.

A screenprint of a giant red plant swallowing a stack of memory chips carried by a small figure.
seymour

Why is a GPU with a petaflop of compute waiting on memory?

Take the chip apart, push a token through Llama 3.1 8B, and pull the throttles to see where decode stalls. H100 to MI355X.

All projects →

Latest

  1. Article · Serenity · Milestone 4: making the frame fast

    Applying the optimizations shipped engines use once the image is right, checking every stage against them, and retraining the network for the new input.

  2. Article · Cradle · Buffers and shapes

    Give our data rows and columns, make ownership explicit, and add matrices on the GPU.

  3. Article · Dolittle · Two views of a thinking model

    What generated thinking tells us, what an activation verbalizer adds, and how to read the places where they disagree.

All papers and write-ups →

About

Andrew P Hunter, systems architect and builder. More about the work and the company →

LinkedIn · GitHub · ORCID · andrewphunter.com