Skip to content
◀ Blog

Why Steamfield

Steamfield is a small studio that builds its own products and takes no client work. This post covers what they are and how each one grew out of another.

Riley Hilliard3 min read

studio

Steamfield builds its own products and takes no client work. Most of them are open source. Each one started as a tool we needed for our own work, and we still use all of them every day.

Until now each product had its own repository and its own site, spread across three GitHub accounts, so it wasn’t obvious they came from the same place or that they depend on each other. This site puts them side by side.

What we make

OpenData answers questions about public data. You connect it to Claude or ChatGPT, ask about rent in Austin or measles cases by county, and it finds the right government datasets, runs the numbers and draws a chart, with every figure linked to its source. The catalog holds 1,036 datasets from 213 sources right now.

OpenChart is the charting library OpenData draws with. You describe a chart as JSON and it handles scales, label collisions, responsive layout and dark mode. We split it out because the spec format turned out to be a good target for agents: it validates field by field, so a model that writes a bad chart gets told which field is wrong.

StatGlass is a menu bar system monitor for Apple Silicon Macs that keeps 30 days of history. It used to be called Kelvo. It exists because “why were the fans going at 3pm?” is a question every other monitor we tried could only answer at 3pm.

Stacks scaffolds projects for coding agents. It writes the instruction files, hooks, CI and tests an agent needs to work safely in a new repo, and then checks the result with stacks verify. This site was started with it.

rr runs commands on other machines. OpenData’s test suite is about 14,000 tests, and rr shards it across whatever hosts are free so a full run doesn’t tie up a laptop.

How they connect

Most of the products began as something OpenData needed. OpenChart was its charting code, split out once we wanted charts that looked like they belonged in a newspaper. rr came when OpenData’s test suite got slow enough that a full run tied up a laptop for the duration. Stacks came from writing the same agent setup into every new repository. StatGlass is the exception: it came from watching those builds and test runs heat up a laptop and wanting to see afterward what had happened.

The home page uses the products on each other where it can. OpenChart draws its charts at build time, the hero’s mountains are the commit history of every product repository, and the Stacks demo replays recorded output from scaffolding this site.

Why no services page

We don’t take client work, and we don’t plan to. Working only on our own products means we pick the problems and keep living with our decisions long after they ship. If you want to talk about one of the products, the address in the footer reaches a person.

What the blog covers

Posts cover how the products work and what we learn building them, such as how OpenChart places labels or how rr splits a 14,000-test suite across machines. They come out when there is something to write up. The RSS feed is the easiest way to follow along.