ScribleSketch AI compose turns prompts
into typed blocks.
Chat-first composition with AI. You describe — sticky notes, recipe cards, study sheets, decks. The AI composes typed blocks against your active theme. Preview lands live. Inspector refines in place. Nothing rebuilds.
You type. The page fills.
Composition AI routes through ScribleSketch's typed catalog. Your intent becomes a sequence of validated blocks — heading, paragraph, recipe card, callout, sticky — each one landing in the preview as the AI commits to it.
Make a recipe-journal page for tartine sourdough — day three. I want: — ingredient card (gram measurements) — a callout about fold timing — a sticky note for tomorrow's reminder
Bulk fermentation in the late afternoon. The dough has relaxed into a slow, billowy thing.
paragraphEvery block in your page exists in ScribleSketch's catalog. The AI picks the right one for the right moment — you never edit raw HTML, and the page can never break.
Tweak one block. The rest stays put.
Click any block, describe how to change it, and only that block re-composes. The reducer pattern guarantees the rest of the page doesn't shift — no cascading rewrites, no broken layout.
Both processes share one round of DNA replication. The difference is in the cell divisions that follow.
The AI can only emit real blocks.
Every block is typed against a schema. Output is validated before it enters your composition — malformed attempts get rejected or auto-repaired. You will never see broken HTML or a crashed render.
- — level: 1 | 2 | 3
- — text: string
- — underline?: bool
- — variant: info | warn
- — label: string
- — body: string
- — ingredients: Row[]
- — yield?: string
- — time?: string
- — diagram: string
- — theme?: string
- — items: { label, value, tone? }[]
- — front: string
- — back: string
- — tag?: string
- — text: string
- — color: yellow|pink|mint|blue
- — src: url
- — caption?: string
- — tape?: bool
- — nodes: Node[]
- — edges: Edge[]
The schema is the contract between the model and the renderer. That's why your composition never produces a broken layout, and why every block stays editable as a typed node — not a frozen blob of HTML.
Empty slot. Prompt. Picture.
image_placeholder blocks know they're empty. Describe what should go in them and the AI generates an asset tuned to your active theme.
Generated assets sit inside the block, not on top of it — switch themes and the image's palette is regenerated to match. Swap presets, and the picture follows.
Three sources. One notebook.
Drop a URL and a paste in one pass — PDF import is coming soon. The AI threads sources into a single composition, and every block carries provenance back to where it came from.
“Mitosis preserves chromosome count (2n → 2n) …”
“Crossing-over occurs only in meiosis I, leading to variation …”
“Q: gametes? A: half chromosome count to restore on fertilization.”
↓ threaded into ↓
“Mitosis preserves chromosome count (2n → 2n) …”
“Crossing-over occurs only in meiosis I, leading to variation …”
“Q: gametes? A: half chromosome count to restore on fertilization.”
Hover a source or block to trace provenance. Sources are long-lived records — reuse URL and paste imports across notebooks without re-uploading. PDF import is coming soon.