Vibe Studio Apps turn any LLM into a knowledge-worker collaborator that can distribute its own deliverables — diagrams, graphs, documents, workbooks, mindmaps, runnable Python scripts — as self-contained URLs. No accounts. No platforms. No file attachments. The recipient clicks, edits, reshares. The artifact circulates outside any walled garden, on the LLM's terms.
A chatbot or assistant that only returns text is a dead-end. Vibe Studio Apps give it a return value that moves: a URL that opens a fully-rendered, editable artifact in any browser. Each touch of the artifact — by the LLM, by the human, by the recipient — produces a new URL. The artifact propagates without ever hitting an authentication wall.
Open the flywheel as a flowchart → watch the protocol diagram itself, then edit the boxes if you disagree. Or open the same idea as a knowledge graph to see where the links land in real workflows.
| Without Vibe Studio Apps | With Vibe Studio Apps |
|---|---|
| LLM returns a wall of markdown | LLM returns a link to an editable, rendered artifact |
| Human screenshots the chat to share it | Human pastes one URL into Slack, email, CRM |
| Recipient can't edit without re-prompting | Recipient opens, edits, exports, reshares |
| Each artifact lives inside one chat thread | Each artifact lives in a URL — portable everywhere |
| Account / login required to view | No account. Public-link safe. Browser-only. |
| Vendor lock-in: data lives in the platform | Data lives in the URL hash. The user owns it. |
| Multi-LLM workflows need a shared store | Artifacts pass between agents as URLs — no store needed |
#vibe= URL, sends it to Slack/email/Linear comment/Jira ticket. The artifact becomes the side-effect, not a database row.postMessage and window.XLSStudio.load() let host apps embed each studio directly.py-vibe link opens Python Studio with CPython 3.12 + numpy / pandas / matplotlib in their browser — script runs on open, plots render inline. They tweak the assumptions, re-run, reshare the new link. No "can you re-run that with 2026 numbers?" — they do it themselves.Every other studio renders structure (diagrams, graphs, sheets, code). Media Studio renders the raw bytes — images, audio, video, PDFs, fonts, 3D models, plain text, markdown — either inline (base64 in the URL hash, up to ~32 KB in Standard mode) or by pointer (any HTTPS src: URL — a gist raw, a GitHub raw, your own CDN). The same studio, two transports, eight kinds of asset.
src:-less SVG.src: mode.src: URL. The hash itself is only ~375 B — the font lives elsewhere. Renders as a full type specimen page (display sizes, pangrams, glyph grid).How big can the URL be? Media Studio offers four size modes: compact (≤ 6 KB · survives email/QR), standard (≤ 32 KB · Slack/Discord-safe, the default), large (≤ 256 KB · Chrome/Firefox only — postage-stamp video and small fonts fit), and unlimited (Chrome address bar only). When inline data exceeds the chosen mode, the studio's Publish to Gist button uploads the asset to a public GitHub gist with the user's PAT (stored only in localStorage) and rewrites the asset to a src: pointer with a tiny hash.
Whole payload in the hash fragment. No server lookup. No login. The link is sufficient — copy it, send it, file it, fork it.
Each studio is a single HTML file. After first load it works on a plane. IndexedDB holds your local library; the URL holds the share.
Atomic 47 Labs hosts the studio HTML. We never see your payloads — they live in URLs that pass between you and your recipients.
Skills are tiny: ~150 lines and one encoder. An LLM that knows the schema can hand you a working link from any input.
Every studio exports to standard formats — .md, .svg, .png, .xlsx, .html, .json. The link is the entry point; the export is the exit.
Five themes ship by default. The CSS variables are public — fork for your brand, host on your own subdomain, point your LLM at it.
Each studio is independent. Pick the one your team needs first, install the skill, and see what a link-based deliverable feels like compared to a wall-of-text reply.