workshop · 臨時 · temporary structures

rinji.dev

A Bauhaus blueprint for ephemeral code. Temporary, by design.

φ · 0.618 workshop / 0001
01 / Manifesto

Form follows function, even when function is fleeting.

rinji (臨時) names what is temporary, provisional, ad-hoc. In the Bauhaus workshop, no shape was decorative; every line earned its place. We apply the same discipline to code that will not last: scaffolding, hotfixes, throwaway scripts, weekend prototypes. The fact that something is temporary is not permission to make it ugly.

// rinji.dev — module manifest
const tool = temporary({
  shape: "circle",
  intent: "scaffold",
  lifetime: "one sprint"
});
02 / Method

Three primaries. One ratio. Zero excuses.

Every page on rinji.dev is composed from the Bauhaus primaries — circle, triangle, square — placed at golden-ratio intervals. The workshop tools snap together as modular SVG blueprints. There is no parallax, no warmth, no decoration smuggled in as "delight." Delight, when it appears, comes from precision.

We treat micro-interactions like Albers treated color — exact, demonstrative, and never accidental.

03 / Lifecycle

A module is born, used, archived. The blueprint endures.

Temporary code has three phases. Sketch: the module is drawn in a single sitting, with no attempt to generalize. Service: the module solves exactly one problem for exactly one project. Sunset: the module is retired with the same care with which it was drawn. The blueprint -- the diagram of why it existed -- remains in the archive.

$ rinji archive ./scaffold-2026-q2
  drafted   : 2026-04-12
  retired   : 2026-05-29
  successor : none required
section · 0004 · module catalogue

The Bauhaus toolkit, reissued for things that won't last.

scaffold()

A single-file scaffold for one-week experiments. Boots in 200ms, archives itself when the experiment ends.

circle · primary · 01

hotfix()

A sharp, decisive intervention. Three lines, one merge, a precise apology in the changelog.

triangle · primary · 02

archive()

A clean rectangle of metadata: when, why, what learned. The module dies; the document lives.

square · primary · 03

orbit()

Five hooks, one center. A miniature scheduler for tasks that will outlive a sprint by exactly nothing.

circle · ethereal · 04

bisect()

Cut the failing commit out cleanly. The blade is sharper when the fix is meant to be temporary.

triangle · blueprint · 05

quadrant()

A four-pane diagnostic for code you do not intend to keep. Four windows, one verdict.

square · module-red · 06