Building tools for the speculative present

Founder and CEO of Vloora, a startup building the plumbing of the agentic web; Assistant Professor of Practice in Urban Technology, University of Michigan; Nonresident Senior Fellow, Global Office of Public Delivery.

Ron speaking into a handheld microphone, wearing a yellow shirt

Coalition is a Persistent Browser Based Game (PBBG) built in HTML5, the goal of the game is to escape before your character is captured.

In developing a text-heavy game with AI agents, I needed a system that kept in-game help text, narrative text and game rules all separate.

Based on design systems & style guides, I wanted a way to integrate my own editorial rules into the game while only having it impact the sections I wanted.

0:00 · The title

Every line comes from one catalog, not the code.

$ pbbg-content check content/pbbg/coalition.bundle.json

warning COAL-10 ch2.level.eri_airstrip.fence.text: Owner, 2026-10-30: say a flight's length as '8-hour flight', never 'hours in the air'.
error SPEAKER ch2.sibling_visa: Dialogue requires a speaker. Set speakerRef to a declared entity.
warning TEXT-02 ch2.level.eri_town.bus.name: Review action labels longer than six words.

$ python3 tools/build.py
content-check: 0 errors, 0 warnings
pbbg-check: Content checks passed.

The checker caught the first three lines when I added chapter two. The last two are the fixed build.

Talks and conversations

Beyond Civic Tech: Public Mechanics Starts at HomeCUGOS Fall Fling keynote, November 2025
What Finnish Baseball Taught Me About Game DesignDonut.js, Portland, November 2019

Writing

A simulation can run without errors while rewarding the wrong team. A model can recommend that an agent's request be reviewed without granting permission to act. A service can acknowledge a request without completing the job. I write about the rules, records, and checks that make those differences visible.

NPM tools

Red Pen Editor

npm i red-pen-editor

An editor for AI agents with permission to cut. It looks for what a draft can lose without changing what it says, and it refuses any cut that would drop the last mention of a number, date, or link. Agents can use it as a skill or through an MCP server. It runs locally, with no API key.

PBBG Content Schema

npx -y github:quarterback/pbbg-content-schema install-skill

A content format and checker that keeps a browser game’s rules, story, and interface text apart, so AI agents can edit one without breaking the others.

Prosekeep

npm i prosekeep

An editorial system for teams writing with AI agents. It carries writing standards, author decisions, source requirements, and publishing workflows across repositories and agent tools. I treat editorial authority as a content design problem: an author’s decisions should still hold when the writing reaches editing and review in another tool.

plain-language-default

npm i plain-language-default

A reusable writing standard for AI agents based on the U.S. Federal Plain Language Guidelines. It gives every agent the same rules for writing plainly.