Artifacts & Canvas
Create documents, dashboards, diagrams, and AI-powered mini-apps in Canvas. Edit, publish share links, export to PDF, and persist data across sessions.
Turn AI conversations into living documents, dashboards, tools, and mini-apps — then edit, save, share, and reuse them.
Quick mental model: Chat is where you think. Canvas is where you build. An artifact is what you build inside Canvas.
1. What are artifacts?
An artifact is a structured output from your AI conversation — something you can open, preview, edit, and keep working on outside the chat bubble.
Examples of artifacts:
- A PRD or report in rich markdown
- A landing page or dashboard in HTML
- A flowchart in Mermaid
- A React component prototype
- A Python script you can run in the browser
- An interactive tool (quiz, calculator, Q&A app) that calls AI from inside the page
Artifacts live in Canvas — a side panel on web (full-screen overlay on mobile) where you can:
- Switch between Preview, Code, Split, and Visual Edit (HTML)
- Keep multiple tabs open in one chat
- Let the AI propose edits you accept or reject
- Publish a link anyone can open
- Export to PDF, Word, or raw files
Your work saves automatically as you edit. When you publish, you get a permanent link like https://springbase.ai/a/abc123xyz.
2. Getting started — your first artifact
Option A — Ask the AI to create one
The easiest path is to describe what you want in chat:
For a document:
"Write a one-page product brief for our Q3 launch in markdown. Open it in Canvas."
For an interactive page:
"Build a simple todo list web page with a dark theme."
For a diagram:
"Draw a Mermaid sequence diagram for our login flow."
Phrases that help Canvas open:
- "in canvas"
- "in markdown"
- "open in canvas"
- "as a document"
- "build me a dashboard / landing page / tool"
Option B — Open from an existing message
If the AI already wrote something you want to keep:
- Find the assistant message (or code block).
- Click Open in Canvas.
- Canvas opens with a new tab linked to that message.
Option C — Resume a previous session
If you were working in Canvas before and closed the panel:
- Look for Resume Canvas near the chat input.
- Click it to reopen your last tabs and pick up where you left off.
Keyboard shortcut (web)
Press ⌘/Ctrl + Shift + K to toggle Canvas open or closed.
3. The Canvas workspace
Layout
| Platform | How Canvas appears |
|---|---|
| Web (desktop) | Resizable panel on the right side of chat |
| Web (mobile / tablet) | Full-screen overlay |
| iOS app | Full-screen modal over chat |
Tabs
- You can have up to 12 open tabs per chat.
- Recently closed tabs (up to 10) can be restored from the tab bar menu.
- Each tab has a title and type badge (HTML, Markdown, Diagram, etc.).
View modes
| Mode | Best for |
|---|---|
| Preview | See the live result — web pages, diagrams, rendered markdown |
| Visual Edit | Click and edit HTML elements without writing code (web only) |
| Code | Edit the raw source in a code editor |
| Split | Code on one side, preview on the other |
Header actions
From the Canvas header you can:
- Refresh the preview
- Copy all code to clipboard
- Download the raw file
- Export PDF / Word (markdown artifacts)
- Share — publish and get a link
- History — restore an earlier version
- Maximize — expand Canvas to use more screen space
Auto-save
Edits save automatically (about every quarter-second). You'll see a save status indicator in the header. Your draft is tied to the chat — come back later and Resume Canvas to continue.
4. Artifact types
Springbase supports eight artifact types. The AI picks the right one based on what you ask for; you can also switch by editing in Code mode.
| Type | What it is | Live preview? | AI SDK inside? |
|---|---|---|---|
| Markdown | Documents, specs, reports, notes | Rich text editor | No |
| HTML | Web pages, dashboards, mini-apps | Yes (sandboxed) | Yes |
| React | JSX/TSX components | Yes (in-browser) | Limited |
| JavaScript | Runnable scripts | Yes (console output) | Limited |
| Python | Data scripts, analysis | Yes (Pyodide) | No |
| Mermaid | Flowcharts, sequence diagrams, ER diagrams | Yes (zoom/pan) | No |
| SVG | Vector graphics | Yes | No |
| Code | Syntax-highlighted source (read-only display) | Highlight only | No |
Which type should I use?
| I want to… | Use |
|---|---|
| Write a spec, memo, or report | Markdown |
| Build a landing page, dashboard, or AI tool | HTML |
| Prototype a UI component | React |
| Run a quick script or demo logic | JavaScript or Python |
| Map a process or architecture | Mermaid |
| Create an illustration | SVG |
Important: The built-in AI SDK (springbase.ai) — text, images, knowledge bases, meetings — works best in HTML artifacts. See §7.
5. Creating artifacts
5.1 Through conversation (recommended)
Documents
Use markdown-oriented language:
"Create a competitive analysis in markdown with a comparison table."
"Draft a meeting agenda as a canvas document."
The AI opens Canvas and puts the content in a markdown tab with a rich editor (headings, tables, task lists, links).
Web pages & tools
Switch to Code mode (or ask explicitly):
"Build a pricing calculator as a single HTML page with Tailwind."
"Create an interactive chart dashboard using Chart.js."
Diagrams
"Draw a Mermaid flowchart for our onboarding funnel."
"Show a system architecture diagram for our API."
Attach context first (optional)
Before creating an artifact grounded in your data:
- Select a Knowledge Base (project) in the chat context picker.
- Or attach a Meeting transcript.
- Then ask: "Build an HTML Q&A app that answers questions from my product docs."
The artifact can use that context automatically when it calls AI (HTML only).
5.2 From code blocks in chat
When the AI outputs HTML, React, Mermaid, or SVG in a fenced code block, Springbase may auto-open Canvas for types that need a live preview.
You can always click Open in Canvas on any eligible message or code block.
5.3 Manual creation flow
- Start a chat and get the AI to produce content (or paste your own in Code mode).
- Click Open in Canvas.
- Edit title by working with the AI: "Rename this artifact to 'Q3 Launch Plan'."
- Keep iterating in chat: "Add a risks section to the canvas document."
5.4 Plan Mode outputs
When you use Plan Mode, steps that produce deliverables (reports, specs, apps) can open directly in Canvas as artifacts — same editing and sharing workflow applies.
6. Editing artifacts
Edit yourself
- Open Canvas and select the tab.
- Choose a view mode:
- Markdown → WYSIWYG editor with formatting toolbar
- HTML → Visual Edit to click elements, or Code for full control
- Diagrams → Edit Mermaid source in Code mode
- Changes save automatically.
Edit with AI (in chat)
With Canvas open, talk to the AI naturally:
"Add a section on pricing strategy."
"Change the hero headline to 'Ship faster.'"
"Fix the button color to blue."
The AI sends structured updates to your open artifact. When the change is significant, you'll see an Accept / Reject banner with a diff preview.
Markdown tip: Select text in the editor and use Ask AI (sparkle icon) to rewrite just that selection.
Version history
Open History in the Canvas header to browse snapshots (manual edits, AI updates, publish events) and restore an earlier version if needed.
7. AI-powered artifacts
Some artifacts aren't just static pages — they're apps that call AI while you use them. Think: chatbots, quiz generators, meeting email drafters, image studios, translators.
How it works (simple version)
Inside an HTML artifact, the AI can write JavaScript that calls:
await springbase.ai.chat({ message: "Your question here" });
You don't need API keys or setup. Springbase handles authentication, model routing, and credits — the same way as chat.
What AI-powered artifacts can do
| Capability | Example use |
|---|---|
| Text generation | Chatbot, summarizer, translator, email drafter |
| Streaming | Live typing effect as the AI responds |
| Image generation | "Create a poster from this prompt" |
| Image editing | Upload a photo → "Make it watercolor style" |
| Vision | Upload an image → "What's in this screenshot?" |
| Knowledge bases | Q&A grounded in your uploaded docs |
| Meetings | Draft follow-ups from a meeting transcript |
Grounding in your data
When you select a Knowledge Base or Meeting in chat before building an artifact, those selections flow into the artifact's AI calls automatically.
You can also build a picker inside the artifact (e.g. dropdown of your projects) — ask the AI:
"Build an HTML Q&A app where I pick a knowledge base from a dropdown, then ask questions against it."
To disable grounding for creative tasks (translation, fiction), the artifact can opt out — ask:
"Build a translator that does not use my knowledge bases."
Example prompts to create AI-powered artifacts
| Goal | Prompt |
|---|---|
| Doc Q&A | "Build an HTML app where I pick a knowledge base and ask questions with streaming answers." |
| Meeting follow-up | "Build a tool that lists my meetings, I pick one, and it drafts a follow-up email." |
| Image studio | "Build an HTML page to generate, edit, and describe images." |
| Quiz | "Build a quiz generator that creates 5 multiple-choice questions from my attached knowledge base." |
| Calculator + AI | "Build a ROI calculator that explains the result in plain English using AI." |
Credits & limits
AI calls from artifacts use your Springbase credits (same as chat). Practical limits:
- Up to 3 simultaneous AI requests per artifact session
- 60 seconds timeout for text; 90 seconds for images
- Rate limits apply (roughly 30 requests/minute)
For advanced SDK patterns (streaming, image tools, knowledge-base grounding), ask Springbase in Code mode to extend your HTML artifact — or explore the examples in the use cases section below.
8. Artifacts that save data
By default, artifacts are stateless — refreshing might reset anything stored only in the browser session. For artifacts that remember todos, quiz scores, form entries, or user preferences, you need published storage.
The key rule
Publish your artifact first. Data persistence only works on published artifacts (after you click Share and save).
Draft-only artifacts cannot use persistent storage — you'll get a clear error if the code tries.
Two storage modes
Springbase provides springbase.storage inside HTML artifacts (after publishing):
| Mode | Who sees the data | Who can write | Best for |
|---|---|---|---|
shared | Everyone who can view the artifact | Owner only | Your private todo list, shared template config you maintain |
mine | Only the signed-in viewer | That viewer | Per-user progress on a shared tutorial, personal notes on a team template, quiz scores |
Choose carefully:
- Private artifact + your todo app →
shared(you're the owner; your checkboxes persist) - Shared team tutorial →
mine(each teammate tracks their own progress) - Public quiz you share on LinkedIn →
mine(each visitor gets their own score)
How to create a stateful artifact
Step 1 — Build it
"Build an HTML todo list with checkboxes. Persist todos using springbase.storage.shared so they survive reloads."
Step 2 — Publish
- Click Share in Canvas.
- Choose visibility (Private, Unlisted, etc.).
- Save — your artifact gets a link and a storage token.
Step 3 — Use it
Open the artifact (from Canvas or the shared link). Checkboxes, form fields, and saved state now persist across reloads and devices (when signed in).
Example prompts for stateful artifacts
| Use case | Prompt |
|---|---|
| Personal todo | "HTML todo app; save items with springbase.storage.shared; load on page open." |
| Team checklist template | "Shared checklist where each viewer tracks completion in springbase.storage.mine." |
| Simple CRM notes | "Contact tracker form; save entries under springbase.storage.shared (I'll publish as private)." |
| Reading progress | "Tutorial with 5 sections; save completed sections in springbase.storage.mine per viewer." |
Storage limits (good to know)
| Limit | Value |
|---|---|
| Max size per saved value | 64 KB |
| Max keys per scope | 200 |
| Max total shared data per artifact | 1 MB |
| Max personal data per user (all artifacts) | 10 MB |
What does not persist reliably
- Data saved only in the browser's local storage inside the preview iframe (session-scoped, not cross-device)
- Storage on unpublished drafts
- Real-time sync between two people editing the same artifact at once (no live co-editing yet)
9. Sharing & publishing
Publish from Canvas
- Open the artifact tab.
- Click Share in the header.
- Configure:
- Title (shown on the link page)
- Visibility
- Category (Dashboards, Documents, Tools, etc.)
- Tags (up to 8)
- Optional: attach Knowledge Bases / Meetings for viewers
- Save — copy the link or scan the QR code.
Visibility options
| Visibility | Who can open it |
|---|---|
| Private | Only you |
| Unlisted | Anyone with the link |
| Public | Intended for discovery (link always works; marketplace listing may vary) |
| Enterprise | Members of your organization |
| Team | Members of your team |
Enterprise note: Your admin may restrict public/unlisted sharing. If Share is blocked, use Enterprise or Team visibility instead.
Shared link format
https://springbase.ai/a/{token}
Viewers see a read-only render (with watermark on public views). HTML artifacts with RAG attached can still call AI — billing may be charged to you or the viewer depending on share settings.
My Artifacts library
Visit Artifacts in the app (/artifacts) to browse, search, and filter everything you've published.
10. Export & download
| Format | Available for | How |
|---|---|---|
| Raw file | All types | Download button in Canvas header |
| Markdown, Mermaid | Export menu → PDF | |
| Word (.docx) | Markdown | Export menu → Word |
| Copy code | All types | Copy button in header |
Exported files use your artifact title as the filename.
11. Use cases & examples
Documents & specs
Scenario: Product manager needs a PRD after a discovery call.
- Attach the meeting in chat.
- "Write a PRD in markdown with goals, user stories, and open questions."
- Edit in Canvas; export PDF for stakeholders.
Landing pages & marketing
Scenario: Marketer wants a campaign landing page.
- Code mode: "Build a mobile-responsive landing page for our coffee subscription — hero, features, pricing, CTA. Use Tailwind."
- Visual Edit to tweak copy and colors.
- Share as Unlisted; send link to design review.
Dashboards & data viz
Scenario: Founder wants a KPI dashboard.
- "Build an HTML dashboard with Chart.js showing MRR, churn, and active users — use sample data I can edit."
- Iterate: "Add a date range filter (UI only)."
- Publish to Enterprise for the leadership team.
Architecture & process diagrams
Scenario: Engineer documents a new microservice flow.
- "Draw a Mermaid diagram: client → API gateway → auth service → database."
- Export PDF for the architecture review deck.
Knowledge-base Q&A tool
Scenario: Support team wants internal doc search.
- Select Help Center knowledge base in chat.
- "Build an HTML Q&A app with a question box and streaming answers grounded in my context."
- Publish to Enterprise; support agents open the link daily.
Meeting follow-up writer
Scenario: Sales rep drafts recap emails after calls.
- "Build an HTML tool: pick a meeting, choose tone (Professional/Casual), generate a follow-up email with action items."
- Uses meeting transcripts via the AI SDK.
- Keep private — no need to publish unless sharing with the team.
Interactive tutorial with progress
Scenario: HR shares onboarding checklist with new hires.
- "Build a 10-step onboarding checklist HTML page. Save completed steps in springbase.storage.mine per viewer."
- Publish as Team or Enterprise link.
- Each hire sees their own progress when signed in.
Quiz / assessment
Scenario: L&D creates a training quiz from internal docs.
- Attach training knowledge base.
- "Build a quiz app: generate 5 MCQ from my docs, score answers, save high score in springbase.storage.mine."
- Publish unlisted; share link in Slack.
Image studio
Scenario: Content creator needs quick visuals.
- "Build an image studio: generate from prompt, upload to edit, or describe uploaded images."
- No publish required unless you want a permanent team tool.
Personal todo / tracker
Scenario: You want a simple task list that persists.
- "HTML todo list with add/complete/delete; persist via springbase.storage.shared."
- Publish (Private visibility is fine).
- Reopen anytime from My Artifacts — tasks remain.
12. Tips for great results
Prompting
- Say the format explicitly — "in markdown", "as HTML", "Mermaid diagram".
- Say "canvas" when you want a side panel document, not a chat reply.
- One HTML file for web apps — ask for "a single self-contained HTML file with CSS and JS."
- Keep Canvas open when asking for edits — the AI sees an outline of your document.
- Accept/Reject AI edits when unsure; use History to roll back.
Design
- Ask for Tailwind CSS and a dark theme for polished HTML quickly.
- For markdown docs, ask for tables, task lists, and clear headings.
- Name your artifact early: "Title this 'Q3 Launch Plan'."
AI-powered apps
- Publish before adding persistence (
springbase.storage). - Select knowledge bases before building grounded tools.
- Ask for streaming UI ("show the answer word by word") for snappier feel.
- For image editing, remind the AI: "use the uploaded image, don't generate from scratch."
Sharing
- Use Unlisted for "anyone with link" without broad discovery.
- Use Enterprise/Team for internal tools.
- Attach RAG on share only when viewers should query your docs (remember billing settings).
13. Limits & troubleshooting
Size & tabs
| Limit | Value |
|---|---|
| Open tabs per chat | 12 |
| Closed tabs remembered | 10 |
| Max artifact size | 500 KB per tab |
| Max total workspace | 1.5 MB per chat |
If you hit size limits, split into multiple artifacts or trim embedded data.
Common issues
| Problem | What to try |
|---|---|
| Canvas didn't open | Say "open in canvas" or click Open in Canvas on the message |
| AI edited the wrong section | Reject the change; be specific: "Update only the Pricing section" |
| Storage not saving | Publish first; storage requires a published artifact |
| "Not published" error in app | Share the artifact, then reload |
| AI tool doesn't use my docs | Select knowledge base in chat before using the artifact |
| Visual Edit unavailable | Use Code mode (very large HTML disables visual edit on web) |
| Python slow first run | First execution downloads Pyodide (~15 MB) — wait once |
| Out of credits | Top up in Settings → Billing; SDK calls use credits like chat |
Platform differences
| Feature | Web | iOS app |
|---|---|---|
| Canvas panel | Side panel | Full-screen modal |
| HTML Visual Edit | Yes | No (use Code or chat edits) |
| PDF/DOCX export | Yes | Check current app version |
| AI SDK in HTML | Yes | Yes |
| ⌘/Ctrl+Shift+K shortcut | Yes | — |
14. FAQ
Can I edit an artifact after publishing?
Yes. Edit in Canvas, then update the published version from the Share dialog. Viewers see the latest saved content.
Can two people edit the same artifact together?
Not in real time today. Share a link for viewing; each person edits their own copy or you edit sequentially.
Do artifacts work offline?
No. Preview and AI features need an internet connection.
Can I fork someone else's artifact?
Open the shared link, then ask the AI to recreate or adapt it in your chat (respect the author's terms and visibility).
Does the AI SDK work in markdown or Python artifacts?
Reliably in HTML only. Use HTML for interactive AI apps.
Will my iframe localStorage persist?
Treat it as temporary. For real persistence, publish and use springbase.storage.
How much do AI calls inside artifacts cost?
Same credit model as chat — based on model and tokens used.
Can viewers use my knowledge bases without paying?
Share settings include RAG billing: author pays, viewer pays, or hybrid. Pick what fits your use case when publishing.
15. Related guides
| Guide | Contents |
|---|---|
| Chat | Grounded conversations, contexts, and saved outputs |
| Contexts | Knowledge bases that power artifact AI tools |
| Recipes | Reusable prompt workflows — often paired with Canvas deliverables |
| Meetings | Transcripts and follow-ups for meeting-powered artifacts |
| Overview | The Springbase mental model and setup path |
Ready to build? Start a chat, say what you want in markdown or as an HTML tool, and open Canvas. When you're happy with it, hit Share — and if it needs memory, publish before you rely on saved data.
Related docs
Learn how to use Springbase Chat with Contexts, @mentions, shared knowledge, live sources, saved outputs, permissions, and practical prompt templates.
Turn reliable prompts into reusable templates with variables, optional Contexts, scheduling, sharing, and Agent mode for connected apps.
Learn how to build living knowledge bases in Springbase with documents, notes, shared access, live sources, community Contexts, and grounded Chat.
Record calls, join Zoom/Teams/Meet links, upload audio, or paste transcripts — then get summaries, action items, search, and Chat integration.
Understand the Springbase ecosystem: Contexts, Chat, Recipes, Plans, Agents, Canvas, and the compounding loop that ties them together.