ReasonStack
Menu

— The open methodology + stack

Build reasonable systems.

Chat is where ideas start. A reasonable substrate is where they survive. Grain narrows the space of valid outputs until drift becomes structurally impossible — so you can reason about the whole system. Learn to build them here.

Simple > easy — and with enough time, simple keeps rolling when easy falls apart.

The problem

LLMs have no floor.

An agent can build anything, which means it can also drift anywhere. The magic first version gives way to a second that breaks, because the intent lived in a chat thread — and chat doesn't hold.

The answer

A constraining substrate, not a smarter harness.

When natural language is the compiler, the codebase it targets is what bounds the space of valid outputs. Grain's constraints bottom out at the storage layer — so the system can't drift, and you can reason about the whole thing.

— Learn it

The place you go to actually learn this.

Whole Grain apps, built from scratch on screen — then the same app as open code you can read line by line. Watch it get built, then go read exactly how it's put together.

— The controlled vocabulary

Seven primitives. A closed set.

Everything in a Grain system is one of seven things. If it doesn't fit, it's wrong — and that constraint is exactly what keeps the system reasonable.

Events

the source of truth

Commands

packaged intent

Queries

the read path

Read models

projections

To-do processors

react async

Periodic tasks

on a schedule

Schemas

the glue
What each one does → the method

— The stack

Open implementations you can read.

Grain

GitHub ↗

Narrows the space until drift becomes structurally impossible.

If you can read the game tree, you can read the Orc one.

Allium

GitHub ↗

The spec layer — the one we've chosen.

Silo

The factory.

Explore the stack →

— In concert

This is the engine room.

ReasonStack is the open method. obney.ai is the factory that runs it for small businesses — custom software you own, with the next feature shipped on demand.

See it run in production → obney.ai ↗