There isanother wayto writeinteractivesoftware.

Recause evaluates an ordinary flow against explicit state. Missing information stops the run. New state causes the same flow to run again and reach further.

A programming modelA reference implementationAn invitation
RUN
STOP
STATE
RUN
same function · more state · more of the story becomes reachable
DERIVED FRAMEWORK DEMO · SIMULATION ONLY

Interact with the vacation planner simulation below to watch execution move in the FLOW, state transition in the STATE, and re-runs record in the TRACE in real-time. Or,go to the Real Demos.

TRIP PLANNER
RUN 0001REV 0000
THE CORE

The flow is still ordinary code.

No separate graph has to mirror it. Conditions, loops, functions and domain libraries remain available. Progress lives in explicit state rather than in callback choreography.

  • stop when a required fact is absent
  • serialize the complete interaction state
  • load it in another engine and re-enter
  • compose forms, chats, pages and async work
THE CONSEQUENCE

Interaction styles become interchangeable.

A value can be obtained through a form, a guided chat, an asynchronous service or another derived framework. Downstream logic only sees the resulting state.

  • forms where structure is best
  • chat where interpretation is needed
  • AI only where it earns its place
  • one execution model underneath
DERIVED SAMPLE FRAMEWORKS

Build your own, or build on these!

FORM

Collect related facts

Validation, repeatable sections and completion boundaries.

CHAT

Guide one answer at a time

Conversation as a precise instrument, not a replacement for structure.

PAGES

Give the interaction shape

Compose navigable stages without changing the state model.

ASYNC

Wait for external facts

Treat service results as missing state and re-enter when they arrive.

USE THE FLOW.

Recause is an experimental open-source programming model. The JavaScript runtime is its first reference implementation—and an invitation to implement, adapt and extend the idea.

Ideas deserve more than one implementation.