← Back to Home
IF Lab

Overview

IF Lab is a set of small interactive-fiction experiments, each one built around a single idea: put a real system underneath the prose instead of a branching script. Most text games are either hand-authored branches (every path written by a person) or an LLM improvising with nothing underneath the words. These try a third way — simulated characters, clocks that keep running when you close the tab, worlds with physical rules, generators that keep their promises.

It started as one experiment and turned into a series. There are seventeen now, in three loose batches, and each one has a page stating the bet it's making about form.

A few of them

What I was exploring

Whether "real systems under the prose" actually reads differently than authored branching — and it does. A contradiction you catch in a simulated witness's story lands harder than one an author points at. A night that keeps happening while you're gone gives waiting real weight. The constraint I set for myself was no AI at runtime, so the ambition had to come from the systems, not from renting a model — the one exception being the Fridge, which discloses its resident on the page.

Stack

Most of the experiments are plain HTML and ES modules with no build step and no backend — deterministic, seeded where it matters, and free to run. Each ships with a small Node validator that proves the thing works (a whodunit is always solvable, a generator never leaves a blank, a social-deduction game is beatable by deduction and not by guessing). The Fridge is the exception: a small FastAPI service on Railway with Postgres and an in-process bot, behind the same static front end. Deployed as a static site on Vercel.