BETT.GURU
PLATFORM ARCHITECTURE

A pure decision core, a ledger, and honest seams.

Every decision in the lab is made by one pure, deterministic reducer. React only renders and sequences commands; persistence is a browser round-trip. External systems are simulated and marked as such.

Select a component to see its responsibilities, where it lives in this codebase and what production would add.

CHANNELS

Where commands originate

PLATFORM CORE

Decisions — pure, deterministic

MONEY

Ledger-backed state

EXTERNAL (SIMULATED)

Vendors replaced by fixtures

Green = directly connected to the selected component. Dashed lane = simulated; no vendor, payment rail, feed or database is connected.

How this web application is built

One repository, one Vercel project, no server-side state.

src/domain

Pure TypeScript domain — engine, reconciliation, scenarios, journey trace. No React, no browser APIs. Parity-tested against the untouched v4 core.

src/lab

React client components for the customer app, Control Room and journey; a single hook sequences commands and persists to localStorage.

src/app

Next.js App Router pages. Content pages are statically rendered; the lab is client-rendered to avoid locale/time hydration drift.