Skip to content

Writing system · Case study Demo

Scenario Machine

A structured writing machine that keeps the author in control.

Scenario Machine is the implemented local MVP for the Story Studio product direction. It guides a writer from brief and constraints through three deterministic story directions, editable beats, script blocks, analysis, controlled rewrites, versions and export—without sending writing to an external service.

The public runtime for this project is temporarily unavailable.

React · Vite · Zustand · Zod · Framer Motion

Actual Scenario Machine interface running on desktop
Actual running public integration · desktop
Mohammed Mahdi Kaabi’s role
Product design, interaction design and frontend implementation of the local MVP.
Product version
0.1.0 · Demo
Interface and output
Persian UI · Persian, Arabic and English output templates
01

The problem

Generic text generators flatten the writing process into one prompt and one answer. Writers need visible structure, production constraints, reversible edits and a workspace where generated suggestions never silently replace their text.

02

What is implemented

Six-step scenario machine

Choose from 16 formats, write a brief, tune creative settings, define production constraints and compare three stable directions.

Structured editor

Edit and reorder beats and script blocks with autosave, word count, duration estimates and a focused writing mode.

Explainable analysis

A local rule engine scores ten dimensions and connects each issue to a visible suggestion that the writer chooses to apply.

Controlled rewriting

Run 18 local rewrite operations, compare the proposed version and accept it explicitly instead of overwriting work.

Versions and export

Restore or duplicate versions and export TXT, Markdown, JSON, clipboard content or a browser print/PDF view.

03

A browser-local architecture

The public build packages the existing React interface as an isolated SPA under its own base path. Zustand persists projects in a namespaced localStorage key. Template libraries, phrase banks, seeded selection, rule-based analysis and rewrite transforms run in the browser. There is no backend, account system, service worker or network AI request.

  1. Choose format and brief
  2. Compare three directions
  3. Edit beats and script
  4. Analyze, rewrite and export

04 · Evidence

What the source establishes

The inspected 0.1.0 source contains the executable workspace, 16 scenario definitions, multilingual phrase banks, local generators, structured editor, analysis and rewrite engines, export functions, responsive CSS, five passing unit tests and three documented end-to-end flows. The repository has no initial Git commit, so this integration records a SHA-256 source-tree fingerprint.

Source revision sha256:0429c723d9df · 2026-07-14

Actual running public integration · mobile
Actual running public integration · mobile
05

Boundaries of this demo

  • The generator is deterministic and template/rule-based; it is clearly labeled local and is not presented as a remote AI model.
  • Projects remain in this browser and do not synchronize between devices.
  • PDF is provided through the browser print dialog; FDX and DOCX are not implemented.
  • Authentication, collaboration, cloud storage, analytics, billing and media generation are outside this MVP.
  • The initial JavaScript bundle is comparatively large; route-level code splitting remains a performance improvement.
Assets and third-party material

No root LICENSE file was present, so the source is not presented as generally redistributable. This authorized portfolio build bundles no external images, music, video or datasets. Vazirmatn is local under OFL 1.1; runtime libraries retain their package licenses.

Third-party notices

Open the scenario machine

Start from one of 16 formats or inspect the included Persian sample. No account or API key is required.

The public runtime for this project is temporarily unavailable.