# Project export: IntentForm

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: OpenAI Build Week
- Tagline: Keep one product decision consistent across Web, React, Expo and SwiftUI, with proof tied to the exact build.
- Devpost: https://devpost.com/software/intentform
- GitHub: https://github.com/metaforismo/IntentForm
- Demo: https://intentform-amber.vercel.app/studio?judge=1&step=design
- Video: https://www.youtube.com/embed/Rkh8sCi5_FM?enablejsapi=1&hl=en_US&rel=0&start=&version=3&wmode=transparent
- Team: 1 GitHub contributor(s) — Francesco Giannicola (80 commits)

## Devpost submission (written by the team)

### Inspiration

One product decision should not become four platform rewrites. Today a team can design an interface in a visual tool and generate code very fast, but the meaning behind the design is soon lost inside different files. A rule such as keeping the main action easy to reach on a small phone must then be rewritten for Web, React, Expo and SwiftUI. I took inspiration from Figma and Paper because they make visual work feel direct and easy to understand. I wanted that same feeling in a system where product intent can also compile, run and prove itself. That is why I built IntentForm.

### What it does

IntentForm keeps product intent as the source of truth. A brief becomes one validated Semantic Interface Graph that stores layout meaning, tokens, components, states, flows, accessibility intent and device behavior. The same graph creates deterministic output for Web, React, Expo and SwiftUI. The product has three connected workspaces. Design lets you edit the product visually while keeping its semantic structure visible. Code shows readable platform output and connects each file to the graph nodes that created it. Verify checks responsive behavior, accessibility, Runtime Parity and native evidence against the exact graph fingerprint. This matters because generated code is not proof that a product still follows the original decision. A valid graph, generated source, a successful build and correct runtime behavior are different levels of evidence. If the graph changes, old evidence becomes stale instead of silently proving a new build. Agents can suggest a small semantic change without taking control of the whole project. A person can inspect the exact diff, approve or reject it, verify the result and restore an earlier version. Try it The hosted Judge Mode gives reviewers a guided four minute tour with a complete sample project. It needs no account, API key, credits or test credentials. Reviewers can inspect the intent, compare every platform output, review evidence and test a safe repair workflow. Try the hosted version here: https://intentform-amber.vercel.app/studio?judge=1&step=design IntentForm is also open source. You can clone the repository, host the full application yourself and run the included validation commands. The repository also includes the IntentForm MCP server, so an MCP client can inspect project truth and work with the same bounded semantic actions without rebuilding the product. Source and setup instructions: https://github.com/metaforismo/IntentForm How I built it I built the whole project with Codex and GPT 5.6. I used Codex from the first idea to the final release for product planning, architecture, implementation, user experience, debugging, documentation, testing and release work. I used several Codex threads at the same time. Some threads implemented features while others reviewed the interface, tested browser and native output, searched for edge cases or audited release quality. Codex helped me organise these threads, compare their findings and continue until the important checks passed. Codex wrote and ran unit tests, browser tests, native checks and stress tests. The final release passes 551 unit tests, 29 production browser scenarios and a 10,000 node benchmark, together with type checks, production builds, native render checks and desktop package verification. I also used OpenAI ImageGen through Codex to create the IntentForm logo and visual assets. Inside IntentForm, GPT 5.6 handles the work that needs judgment. It can understand an unclear product brief and propose a constrained repair. The parts that must remain repeatable are deterministic: schemas, validation, compilers, fingerprints, semantic diffs, evidence, history and rollback are controlled by code. The main technologies are TypeScript, Next.js, React, Zod, Playwright, Electron, Expo tools and SwiftUI verification harnesses. Challenges The hardest challenge was keeping the same meaning across platforms with different layout, navigation, accessibility and safe area systems. It was not enough to make four screens that looked similar. Each output had to preserve the same product rule in a native way. The second challenge was honest verification. I needed the product to say “not run”, “stale” or “failed” when proof was missing instead of presenting a green result too early. That made the system more complex, but it also made every result easier to trust. The third challenge was using AI without hiding uncertainty. GPT 5.6 is strong at interpreting a brief and finding a useful repair, but the suggested change still needs a bounded diff, human approval and fresh evidence. My contribution I designed and built IntentForm independently, with Codex as my coding partner throughout the project. I defined the product direction and made the final architecture, design and release decisions. With Codex, I created the Semantic Interface Graph, the Design, Code and Verify workspaces, the four compilers, Judge Mode, the MCP server, the testing system, the documentation and the release workflow. What I learned I learned that AI is most useful when it works inside clear limits and can show its work. GPT 5.6 can understand intent and make a difficult judgment. Codex can plan, implement, test and review a large project. Deterministic systems can then make each result repeatable, inspectable and reversible. I also learned that good results do not come from one perfect prompt. Codex and GPT 5.6 improved a lot when I gave them focused skills, strong references, small acceptance criteria and real test evidence. They still needed careful steering, review and repeated browser, native and stress testing. Parallel threads were very useful, but only when each thread had a clear scope and the final results were checked against the same product truth. The biggest product lesson was that generated files should be treated as an output, not as the only source of truth. A semantic graph can connect the original decision, every generated target and the evidence that proves the current build. That connection is more valuable than generating code quickly and losing the reason behind it. What is next The next product step is full authentication and a clearer workspace for real teams. I also want to keep improving the visual interface, make complex states easier to read and reduce the amount of guidance needed for first time users. After that I want richer layout controls, more component registration, a deterministic Compose compiler, automatic native previews and optional collaboration. The long term goal is to make product intent portable across tools and platforms without giving an agent unlimited control. IntentForm does not translate pixels. It preserves product intent.

## README (from the GitHub repository)

<p align="center">
  <img src="apps/studio-web/public/brand/intentform-mark.png" width="104" alt="IntentForm mark: freeform intent resolving into structured interface rows" />
</p>

<h1 align="center">IntentForm</h1>

<p align="center"><strong>Intent becomes structured interface.</strong></p>

<p align="center">
  <a href="https://github.com/metaforismo/IntentForm/actions/workflows/ci.yml"><img src="https://github.com/metaforismo/IntentForm/actions/workflows/ci.yml/badge.svg" alt="CI status" /></a>
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="Apache-2.0 license" /></a>
  <img src="https://img.shields.io/badge/local--first-no%20account-58bd88" alt="Local-first, no account required" />
</p>

IntentForm is an open-source, local-first design environment where people and coding agents edit the same validated Semantic Interface Graph. It compiles that graph into readable React, responsive Web, Expo, and SwiftUI, then verifies each target against current evidence instead of treating generation as proof.

![IntentForm showing the Aster Sound semantic source across synchronized desktop, tablet, and phone frames](docs/assets/readme/aster-showcase.png)

**One-minute version:** edit intent directly on the canvas, let an agent propose a bounded semantic transaction, review the exact diff, compile the accepted graph into Web, React, Expo, or SwiftUI, and verify each target against evidence bound to the current fingerprint.

## Why IntentForm exists

Prompt-to-code tools usually bury design intent inside generated files. Traditional design tools usually stop before implementation. IntentForm keeps product intent as canonical, typed data between both worlds:

```text
Human canvas edits ─┐
                    ├─> validated Semantic Interface Graph
Agent transactions ─┘              │
                                    ├─> React compiler ─> runnable app
                                    ├─> Web compiler ───> DOM/CSS runtime
                                    ├─> Expo compiler ──> iOS/Android export
                                    └─> SwiftUI compiler > native build/render
```

Generated files are integration artifacts, not the source of truth. Every accepted mutation is schema-validated, fingerprint-bound, attributable, reversible, and represented as a semantic diff.

![IntentForm project launcher with local projects, agent status, and working examples](docs/assets/readme/launcher.png)

## Product today

| Area | Available now |
| --- | --- |
| Projects | Durable IndexedDB catalog, create/import/open, visual previews, search, grid/list views, folders, tags, rename, archive, recovery, migrations, multi-document tabs, dirty-close flows, and cross-window revision protection |
| Canvas | Infinite board, recursive layers, mixed selection, eight resize handles, rotation, snapping, keyboard movement, grouping, duplication, nested reparenting, conflict-safe inline text editing with IME/RTL support, context menus, clipboard and style clipboard, comments, flow preview, device chrome, and synchronized multi-device comparison |
| Layout | Stack, frame, list, grid tracks and span, wrap, overlay, split, scroll, safe area, adaptive, and freeform relations with deterministic layout indexes |
| Design systems | Components, instances, variants, states, slots, overrides, detach/reset, DTCG token modes, searchable token binding, licensed assets with integrity recovery, image placement, and SVG paint editing |
| Web workflows | Responsive frames and breakpoints, generated DOM/CSS runtime, sandboxed HTML/CSS import through computed styles, explicit unsupported-property diagnostics, runtime parity inspection, and source-to-canvas navigation |
| Native output | Deterministic React, Web, Expo Router, and SwiftUI compilers with readable generated files and target capability diagnostics |
| Agents | Local MCP resources and bounded tools, read-only default, exact file/page/selection scope, preview/commit/reject/revert transactions, semantic diffs, comments, history, checkpoints, and rollback |
| Evidence | Unit and integration tests, accessibility profiles, Playwright production smoke, responsive runtime checks, Expo iOS/Android exports, SwiftUI builds and Simulator accessibility/screenshots, desktop packaging, and a 10,000-node benchmark |

## Design, Code, Verify

The product has three primary workspaces instead of a generation wizard:

- **Design** keeps the semantic canvas, recursive layers, direct manipulation, properties, responsive projections, comments, and prototype flows in one editor.
- **Code** shows deterministic target files beside the running projection, with exact node links and fresh build evidence.
- **Verify** keeps semantic, responsive, accessibility, browser, Expo, SwiftUI, and desktop evidence separate by target and fingerprint.

![IntentForm Design workspace with semantic layers, direct selection, prototype flow, and inspector](docs/assets/readme/design-workspace.png)

The editor chrome is deliberately neutral. Blue is reserved for selection and editing, green for connected or verified state, and the authored project keeps its own visual identity.

## Judge demo

The public replay path takes about four minutes and requires no login, API key, account, or model call:

1. Open [Judge Mode](https://intentform-amber.vercel.app/studio?judge=1&step=design).
2. Inspect the validated Verdant Pay graph and make one semantic canvas edit.
3. Continue to **Code** and inspect the generated target files and fingerprint.
4. Continue to **Verify**, preview the bounded repair, apply it, and rerun the finding.
5. Open submission readiness to distinguish live checks from owner-supplied video and Devpost fields.
6. Reset or exit; Judge Mode never changes the durable project catalog.

For the richer product tour, open **Examples → Aster Sound**. It includes original graph-native artwork, desktop/tablet/phone frames, components, token modes, prototype navigation, loading/empty/error/success states, and a comment linked to an agent transaction.

![Aster Sound review thread with a fingerprint-bound Codex transaction linked to the selected playback flow](docs/assets/readme/agent-review.png)

## Submission gallery

These captures come from the public production build at a 1440 × 960 viewport. They are unretouched 3:2 product evidence prepared for the Devpost gallery; each frame is also kept in the repository so judges can inspect the exact source revision behind it.

| Semantic editing | Responsive intent |
| --- | --- |
| ![Verdant Pay semantic Design workspace with layers, compact canvas, inspector, and Judge Mode](docs/assets/devpost/01-semantic-design-workspace.png) | ![One semantic graph projected across desktop, tablet, and compact phone frames](docs/assets/devpost/02-responsive-intent-comparison.png) |
| **Deterministic React output** | **Evidence-bound verification** |
| ![Generated React source beside its running projection and compiler diagnostics](docs/assets/devpost/03-deterministic-react-output.png) | ![Verification workspace separating semantic findings from missing build evidence](docs/assets/devpost/04-evidence-bound-verification.png) |
| **Exact semantic evidence** | **Local-first project launcher** |
| ![Compact reachability finding with exact node, property path, viewport, and expected relation](docs/assets/devpost/05-exact-semantic-evidence.png) | ![Local-first launcher with a durable Aster Sound project and private activity](docs/assets/devpost/06-local-first-project-launcher.png) |
| **Aster Sound workspace** | **Focused product showcase** |
| ![Aster Sound responsive web project with graph-native artwork, layers, and semantic inspector](docs/assets/devpost/07-aster-multidevice-workspace.png) | ![Minimal Aster Sound canvas showing synchronized Library and Collection screens](docs/assets/devpost/08-aster-product-showcase.png) |

## Quick start

### Judge setup: no credentials required

The fastest test is the hosted [Jud

[README truncated for size]

## Detected evidence (automated analysis)

Indexed codebase: 258 recognized source files, 2976 KB.
- CSS (language) — detected in the code
- HTML (language) — detected in the code
- Next.js (technology) — detected in the code
- OpenAI (technology) — detected in the code
- React (technology) — detected in the code
- Swift (language) — detected in the code
- Tailwind CSS (technology) — detected in the code
- TypeScript (language) — detected in the code
- Vercel (technology) — claimed on Devpost, not found in the code

## Codebase structure (from repository index)

### Files (120 of 346)

```
.env.example
.github/ISSUE_TEMPLATE/bug.yml
.github/workflows/ci.yml
.gitignore
.mcp.json
.vercelignore
apps/expo-preview/.gitignore
apps/expo-preview/app.json
apps/expo-preview/app/_layout.tsx
apps/expo-preview/app/+not-found.tsx
apps/expo-preview/app/index.tsx
apps/expo-preview/app/layout-lab.tsx
apps/expo-preview/app/receipt.tsx
apps/expo-preview/app/request.tsx
apps/expo-preview/eas.json
apps/expo-preview/expo-env.d.ts
apps/expo-preview/intentform.expo.json
apps/expo-preview/INTENTFORM.generated.txt
apps/expo-preview/package.json
apps/expo-preview/src/contracts/home.ts
apps/expo-preview/src/contracts/layout-dash-lab.ts
apps/expo-preview/src/contracts/payment-dash-request.ts
apps/expo-preview/src/contracts/receipt.ts
apps/expo-preview/src/runtime/layout.ts
apps/expo-preview/src/screens/home.tsx
apps/expo-preview/src/screens/layout-dash-lab.tsx
apps/expo-preview/src/screens/payment-dash-request.tsx
apps/expo-preview/src/screens/receipt.tsx
apps/expo-preview/src/theme/styles.ts
apps/expo-preview/src/theme/tokens.ts
apps/expo-preview/tsconfig.json
apps/react-preview/index.html
apps/react-preview/package.json
apps/react-preview/src/main.tsx
apps/react-preview/tsconfig.json
apps/react-preview/vite.config.ts
apps/studio-desktop/package.json
apps/studio-desktop/resources/entitlements.mac.plist
apps/studio-desktop/scripts/build.mjs
apps/studio-desktop/scripts/package.mjs
apps/studio-desktop/src/main.ts
apps/studio-desktop/src/mcp-service.ts
apps/studio-desktop/src/preload.ts
apps/studio-desktop/src/studio-service.ts
apps/studio-desktop/src/window-options.test.ts
apps/studio-desktop/src/window-options.ts
apps/studio-desktop/tsconfig.json
apps/studio-web/app/api/interpret/route.ts
apps/studio-web/app/api/project/agent-activity/route.test.ts
apps/studio-web/app/api/project/agent-activity/route.ts
apps/studio-web/app/api/project/assets/[digest]/route.ts
apps/studio-web/app/api/project/assets/route.ts
apps/studio-web/app/api/project/bezel-packs/[packId]/[digest]/route.ts
apps/studio-web/app/api/project/bezel-packs/route.ts
apps/studio-web/app/api/project/ecosystem/route.test.ts
apps/studio-web/app/api/project/ecosystem/route.ts
apps/studio-web/app/api/project/history/route.test.ts
apps/studio-web/app/api/project/history/route.ts
apps/studio-web/app/api/project/previews/route.ts
apps/studio-web/app/api/project/route.ts
apps/studio-web/app/api/readiness/route.test.ts
apps/studio-web/app/api/readiness/route.ts
apps/studio-web/app/api/repair/route.ts
apps/studio-web/app/globals.css
apps/studio-web/app/layout.tsx
apps/studio-web/app/page.tsx
apps/studio-web/app/runtime-preview/page.tsx
apps/studio-web/app/studio/page.tsx
apps/studio-web/components/agent-activity-panel.tsx
apps/studio-web/components/brand-mark.tsx
apps/studio-web/components/desktop-control.tsx
apps/studio-web/components/ecosystem-control.tsx
apps/studio-web/components/editor/appearance-inspector.tsx
apps/studio-web/components/editor/appearance.test.ts
apps/studio-web/components/editor/appearance.ts
apps/studio-web/components/editor/asset-import.test.ts
apps/studio-web/components/editor/asset-import.ts
apps/studio-web/components/editor/asset-integrity.test.ts
apps/studio-web/components/editor/asset-integrity.ts
apps/studio-web/components/editor/canvas.tsx
apps/studio-web/components/editor/clipboard.test.ts
apps/studio-web/components/editor/clipboard.ts
apps/studio-web/components/editor/commit-coalescing.test.ts
apps/studio-web/components/editor/commit-coalescing.ts
apps/studio-web/components/editor/direct-manipulation.test.ts
apps/studio-web/components/editor/direct-manipulation.ts
apps/studio-web/components/editor/editor-viewport.test.ts
apps/studio-web/components/editor/editor-viewport.ts
apps/studio-web/components/editor/guides.test.ts
apps/studio-web/components/editor/guides.ts
apps/studio-web/components/editor/inline-text-edit.test.ts
apps/studio-web/components/editor/inline-text-edit.ts
apps/studio-web/components/editor/inspector.tsx
apps/studio-web/components/editor/layers-panel.tsx
apps/studio-web/components/editor/node-preview.tsx
apps/studio-web/components/editor/overlays.tsx
apps/studio-web/components/editor/review-panel.tsx
apps/studio-web/components/editor/selection-overlay.tsx
apps/studio-web/components/editor/support.test.ts
apps/studio-web/components/editor/support.ts
apps/studio-web/components/editor/tool-rail.tsx
apps/studio-web/components/editor/transactions.test.ts
apps/studio-web/components/editor/transactions.ts
apps/studio-web/components/history-panel.tsx
apps/studio-web/components/judge-mode.tsx
apps/studio-web/components/launcher-sections.tsx
apps/studio-web/components/launcher.tsx
apps/studio-web/components/local-preview-panel.tsx
apps/studio-web/components/manual-editor.tsx
apps/studio-web/components/reliability-model.test.ts
apps/studio-web/components/reliability-model.ts
apps/studio-web/components/runtime-preview-protocol.ts
apps/studio-web/components/runtime-preview.tsx
apps/studio-web/components/stages/brief-stage.tsx
apps/studio-web/components/stages/graph-stage.tsx
apps/studio-web/components/stages/multi-device-comparison.tsx
apps/studio-web/components/stages/outputs-stage.tsx
apps/studio-web/components/stages/phone-preview.tsx
apps/studio-web/components/stages/report-stage.tsx
apps/studio-web/components/stages/source-viewer-model.test.ts
[226 more files omitted for size]
```

### Dependencies

- apps/expo-preview/package.json: @types/react@~19.2.2, expo@~57.0.4, expo-dev-client@~57.0.5, expo-image@~57.0.0, expo-linking@~57.0.2, expo-router@~57.0.4, expo-status-bar@~57.0.0, react@19.2.3, react-dom@19.2.3, react-native@0.86.0, react-native-safe-area-context@~5.7.0, react-native-screens@4.25.2, typescript@~6.0.3
- apps/react-preview/package.json: @types/react@^19.2.14, @types/react-dom@^19.2.3, react@^19.2.4, react-dom@^19.2.4, vite@^8.1.4
- apps/studio-desktop/package.json: @electron/fuses@2.1.2, @electron/osx-sign@2.5.0, @electron/packager@20.0.0, @intentform/desktop-bridge@workspace:*, @intentform/mcp-server@workspace:*, @types/node@^25.0.0, electron@41.10.2, esbuild@0.28.1, typescript@^5.9.3, vitest@^4.1.0
- apps/studio-web/package.json: @intentform/compiler-expo@workspace:*, @intentform/compiler-react@workspace:*, @intentform/compiler-swiftui@workspace:*, @intentform/compiler-web@workspace:*, @intentform/desktop-bridge@workspace:*, @intentform/device-bezels@workspace:*, @intentform/device-registry@workspace:*, @intentform/graph-runtime@workspace:*, @intentform/intent-interpreter@workspace:*, @intentform/layout-engine@workspace:*, @intentform/mcp-server@workspace:*, @intentform/preview-daemon@workspace:*, @intentform/proof-report@workspace:*, @intentform/repair-planner@workspace:*, @intentform/semantic-schema@workspace:*, @intentform/token-assets@workspace:*, @intentform/verifier@workspace:*, @phosphor-icons/react@^2.1.10, @tailwindcss/postcss@^4.2.1, @types/react@^19.2.14, @types/react-dom@^19.2.3, geist@^1.7.0, motion@^12.38.0, next@16.2.9, openai@^6.32.0, react@19.2.4, react-dom@19.2.4, tailwindcss@^4.2.1, zod@^4.3.6
- apps/web-preview/package.json: @types/react@^19.2.14, @types/react-dom@^19.2.3, react@^19.2.4, react-dom@^19.2.4, vite@^8.1.4
- package.json: @axe-core/playwright@4.10.2, @types/node@^25.0.0, next@16.2.9, playwright@1.61.1, serve-sim@0.1.44, tsx@^4.21.0, typescript@^5.9.3, vitest@^4.0.18
- packages/accessibility-verifier/package.json: @intentform/semantic-schema@workspace:*
- packages/collaboration-relay/package.json: @intentform/ecosystem@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*, @types/node@^25.0.0, typescript@^5.9.3, zod@^4.3.6
- packages/compiler-core/package.json: @intentform/device-registry@workspace:*, @intentform/layout-engine@workspace:*, @intentform/semantic-schema@workspace:*
- packages/compiler-expo/package.json: @intentform/compiler-core@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*
- packages/compiler-react/package.json: @intentform/compiler-core@workspace:*, @intentform/semantic-schema@workspace:*
- packages/compiler-swiftui/package.json: @intentform/compiler-core@workspace:*, @intentform/semantic-schema@workspace:*
- packages/compiler-web/package.json: @intentform/compiler-core@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*
- packages/desktop-bridge/package.json: @types/node@^25.0.0, typescript@^5.9.3, vitest@^4.1.0, zod@^4.3.6
- packages/device-bezels/package.json: @intentform/device-registry@workspace:*, @types/node@^25.0.0, zod@^4.3.6
- packages/device-registry/package.json: zod@^4.3.6
- packages/ecosystem/package.json: @intentform/compiler-react@workspace:*, @intentform/preview-daemon@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*, @types/node@^25.0.0, typescript@^5.9.3, zod@^4.3.6
- packages/graph-runtime/package.json: @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*
- packages/intent-interpreter/package.json: @intentform/semantic-schema@workspace:*, openai@^6.32.0, zod@^4.3.6
- packages/layout-engine/package.json: @intentform/semantic-schema@workspace:*
- packages/mcp-server/package.json: @intentform/compiler-expo@workspace:*, @intentform/compiler-react@workspace:*, @intentform/compiler-swiftui@workspace:*, @intentform/compiler-web@workspace:*, @intentform/device-bezels@workspace:*, @intentform/device-registry@workspace:*, @intentform/ecosystem@workspace:*, @intentform/preview-daemon@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*, @intentform/token-assets@workspace:*, @intentform/verifier@workspace:*, @intentform/web-verifier@workspace:*, @modelcontextprotocol/sdk@1.29.0, @types/node@^25.0.0, tsx@^4.23.1, typescript@^5.9.3, zod@^4.3.6
- packages/preview-daemon/package.json: @intentform/compiler-expo@workspace:*, @intentform/compiler-react@workspace:*, @intentform/compiler-swiftui@workspace:*, @intentform/compiler-web@workspace:*, @intentform/device-registry@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*, @types/node@^25.0.0, typescript@^5.9.3, zod@^4.3.6
- packages/proof-report/package.json: @intentform/compiler-react@workspace:*, @intentform/compiler-swiftui@workspace:*, @intentform/device-registry@workspace:*, @intentform/repair-planner@workspace:*, @intentform/semantic-schema@workspace:*, @intentform/verifier@workspace:*
- packages/repair-planner/package.json: @intentform/semantic-schema@workspace:*, @intentform/verifier@workspace:*, openai@^6.32.0, zod@^4.3.6
- packages/semantic-schema/package.json: @intentform/device-registry@workspace:*, zod@^4.3.6
- packages/token-assets/package.json: @intentform/semantic-schema@workspace:*, @types/node@^25.0.0, typescript@^5.9.3
- packages/verifier/package.json: @intentform/accessibility-verifier@workspace:*, @intentform/semantic-schema@workspace:*
- packages/web-verifier/package.json: @intentform/compiler-web@workspace:*, @intentform/layout-engine@workspace:*, @intentform/proof-report@workspace:*, @intentform/semantic-schema@workspace:*

### Recent commits (newest first)

- fix: harden the final judge walkthrough (#47)
- docs: add submission video runbook (#46)
- docs: publish the IntentForm Devpost gallery (#45)
- feat: ship the IntentForm Build Week release (#44)
- fix: make HTML imports undoable (#42)
- feat: add exact HTML import diff review (#41)
- docs: prepare Build Week submission and final release evidence (#40)
- feat: polish the winning showcase and public demo (#39)
- fix: complete exact Code Verify repair and agent journeys (#38)
- fix: harden dashboard project catalog and recovery edges (#37)
- feat: add deterministic Judge Mode and submission readiness (#36)
- feat: add professional guides and selection color workflows (#35)
- refactor: complete the final Studio visual consistency pass (#34)
- Fix editor panel containment and safe canvas geometry (#33)
- fix(brand): use the public origin for social metadata (#32)
- feat(brand): make IntentForm identity reflect the product (#31)
- Studio: surface asset integrity recovery (#30)
- Studio: make inline text editing conflict-safe (#29)
- Release: ship IntentForm brand and public presentation (#28)
- Studio: harden large-document and long-session reliability (#27)

## Key source files (fetched from GitHub, selected and truncated for size)

### docs/submission-video.md

```markdown
# IntentForm submission video

Use this as the recording script for the OpenAI Build Week submission. The goal is a clear product walkthrough, not a general launch trailer: show what IntentForm is, what it does, how it works, and how Codex with GPT-5.6 contributed.

## Recording target

- Aim for **2:35–2:45**; the hard limit is three minutes.
- Use Francesco's real voice throughout. Show full camera for the opening 6–8 seconds and, optionally, the final 3 seconds.
- Record the product at 1440 × 960 or 1920 × 1080 with browser zoom at 100%.
- Keep the pointer calm, hide notifications and unrelated tabs, and avoid scrolling while speaking.
- Use captions and restrained zooms or callouts only when they make the demonstrated state easier to see.
- Start from [Judge Mode](https://intentform-amber.vercel.app/studio?judge=1&step=design), then use **Examples → Aster Sound** for the richer multi-device sequence.

## Run of show and voiceover

### 0:00–0:08 — What this is

**Picture:** Francesco on camera. Cut directly to Aster Sound on the final word.

**Say:**

> One product decision shouldn't become four platform rewrites. I built IntentForm so product intent—not generated code—stays the source of truth.

### 0:08–0:42 — What it does

**Picture:** Show Aster Sound across desktop, tablet, and phone. Select a semantic container, make one layout change, and show the projections update together.

**Say:**

> IntentForm is a local-first product design and verification environment. I describe a product once as a semantic graph: its screens, components, tokens, layout relationships, states, and interactions. Here, the same Aster Sound intent drives desktop, tablet, and phone projections. When I change a semantic layout relationship, every projection updates from the same underlying decision.

### 0:42–1:13 — How it produces multiple targets

**Picture:** Switch to Code. Show the target picker, briefly reveal Web, React, Expo, and SwiftUI, then pause on readable React output and its running preview. Keep the fingerprint or diagnostics visible.

**Say:**

> That graph—not a screenshot—is compiled into deterministic Web, React, Expo, and SwiftUI outputs. The generated files remain readable, and every target links back to the semantic node that produced it. Platform differences stay explicit, while shared product intent remains synchronized.

### 1:13–1:43 — How evidence works

**Picture:** Switch to Verify. Show Runtime Parity, accessibility evidence, a fingerprint, and one stale or not-run state. Open one finding with its exact node and property path.

**Say:**

> IntentForm also separates a plausible preview from current evidence. Runtime parity, accessibility checks, target builds, and responsive findings are bound to fingerprints. If the graph changes, old proof becomes stale instead of silently passing. A finding identifies the exact node, property, viewport, and expected relationship.

### 1:43–2:05 — How agent review stays bounded

**Picture:** Preview on
[truncated — 2826 more characters]
```

### package.json

```
{
  "name": "intentform",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "description": "Compile product intent into platform-native, runnable, verified interfaces.",
  "license": "Apache-2.0",
  "packageManager": "pnpm@10.28.0",
  "scripts": {
    "dev": "pnpm prepare:react-preview && pnpm --filter @intentform/studio-web dev",
    "build": "pnpm prepare:react-preview && pnpm --filter @intentform/studio-web build",
    "typecheck": "pnpm sync:react-preview && pnpm sync:web-preview && pnpm sync:expo-preview && pnpm -r typecheck && pnpm typecheck:smoke",
    "typecheck:smoke": "tsc --noEmit --target ES2022 --module NodeNext --moduleResolution NodeNext --strict --allowImportingTsExtensions --types node scripts/smoke-studio.ts scripts/smoke-studio-support.ts scripts/smoke-web-preview.ts scripts/smoke-desktop.ts scripts/large-document-fixture.ts scripts/benchmark-large-document.ts",
    "test": "vitest run",
    "test:desktop": "vitest run packages/desktop-bridge/src/desktop-bridge.test.ts apps/studio-desktop/src/window-options.test.ts",
    "test:watch": "vitest",
    "check:docs": "node scripts/check-doc-links.mjs",
    "verify": "pnpm typecheck && pnpm test && pnpm benchmark:large-doc && pnpm check:docs && pnpm build && pnpm verify:web-preview && pnpm verify:expo-preview",
    "generate:demo": "node --experimental-strip-types scripts/generate-demo.ts",
    "sync:react-preview": "node --experimental-strip-types scripts/sync-react-preview.ts",
    "prepare:react-preview": "pnpm sync:react-preview && pnpm --filter @intentform/react-preview build && node scripts/publish-react-preview.mjs",
    "capture:react-evidence": "node --experimental-strip-types scripts/capture-react-evidence.ts",
    "verify:react-preview": "pnpm prepare:react-preview && pnpm capture:react-evidence",
    "smoke:studio": "node --experimental-strip-types scripts/smoke-studio.ts",
    "smoke:desktop": "pnpm build && pnpm smoke:desktop:prepared",
    "smoke:desktop:prepared": "pnpm --filter @intentform/studio-desktop build && node --experimental-strip-types scripts/smoke-desktop.ts",
    "smoke:desktop:packaged": "node --experimental-strip-types scripts/smoke-desktop.ts --packaged",
    "package:desktop": "pnpm build && pnpm --filter @intentform/studio-desktop build && pnpm --filter @intentform/studio-desktop package",
    "verify:desktop": "pnpm package:desktop && pnpm typecheck:smoke && pnpm --filter @intentform/studio-desktop typecheck && pnpm --filter @intentform/desktop-bridge typecheck && pnpm test:desktop && pnpm smoke:desktop:packaged",
    "sync:swift-preview": "node --experimental-strip-types scripts/sync-swift-preview.ts",
    "sync:web-preview": "node --experimental-strip-types scripts/sync-web-preview.ts",
    "sync:expo-preview": "node --experimental-strip-types scripts/sync-expo-preview.ts",
    "verify:web-preview": "pnpm sync:web-preview && pnpm --filter @intentform/web-preview typecheck && pnpm --filter @intentform/web-preview build && pnpm smoke:web-preview",
    "smoke:web-preview": "node --experimental-strip-types scripts/smoke-web-preview.ts",
    "verify:expo-preview": "pnpm sync:expo-preview && pnpm --dir apps/expo-preview typecheck && pnpm --dir apps/expo-preview export:ios && pnpm --dir apps/expo-preview export:android",
    "verify:swiftui": "pnpm sync:swift-preview && node scripts/verify-swiftui.mjs",
    "capture:swiftui-evidence": "node --experimental-strip-types scripts/capture-swiftui-evidence.ts",
    "verify:swiftui-render": "node scripts/verify-swiftui-render.mjs",
    "benchmark:migrations": "node --import tsx scripts/benchmark-migrations.ts",
    "benchmark:large-doc": "node --expose-gc --import tsx scripts/benchmark-large-document.ts",
    "mcp:http": "pnpm --filter @intentform/mcp-server http",
    "mcp:install": "node --import tsx scripts/install-mcp-client.ts"
  },
  "devDependencies": {
    "@axe-core/playwright": "4.10.2",
    "@types/node": "^25.0.0",
    "next": "16.2.9",
    "playwright": "1.61.1",
    "serve-sim": "0.1.44",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3",
    "vitest": "^4.0.18"
  },
  "pnpm": {
    "overrides": {
      "postcss": "8.5.19",
      "uuid": "11.1.1"
    }
  }
}

```

### packages/device-registry/package.json

```
{
  "name": "@intentform/device-registry",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": { "zod": "^4.3.6" }
}

```

### packages/layout-engine/package.json

```
{
  "name": "@intentform/layout-engine",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": { "@intentform/semantic-schema": "workspace:*" }
}

```

### packages/accessibility-verifier/package.json

```
{
  "name": "@intentform/accessibility-verifier",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": { "@intentform/semantic-schema": "workspace:*" }
}

```

### packages/compiler-react/package.json

```
{
  "name": "@intentform/compiler-react",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": {
    "@intentform/compiler-core": "workspace:*",
    "@intentform/semantic-schema": "workspace:*"
  }
}

```

### packages/compiler-swiftui/package.json

```
{
  "name": "@intentform/compiler-swiftui",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": {
    "@intentform/compiler-core": "workspace:*",
    "@intentform/semantic-schema": "workspace:*"
  }
}

```

### packages/intent-interpreter/package.json

```
{
  "name": "@intentform/intent-interpreter",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": {
    "@intentform/semantic-schema": "workspace:*",
    "openai": "^6.32.0",
    "zod": "^4.3.6"
  }
}

```

### packages/verifier/package.json

```
{
  "name": "@intentform/verifier",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": {
    "@intentform/accessibility-verifier": "workspace:*",
    "@intentform/semantic-schema": "workspace:*"
  }
}

```

### packages/graph-runtime/package.json

```
{
  "name": "@intentform/graph-runtime",
  "version": "0.1.0",
  "private": true,
  "type": "module",
  "exports": { ".": "./src/index.ts" },
  "scripts": { "typecheck": "tsc --noEmit -p tsconfig.json" },
  "dependencies": { "@intentform/semantic-schema": "workspace:*" },
  "devDependencies": { "@intentform/proof-report": "workspace:*" }
}

```

[264 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]