Getting Started
Visually follows a three-step workflow. Every feature lives in one of these three pages, each building on the previous one.
Add Media
The Add Media page is where all content enters Visually. Drop a file, paste a URL, browse Google Drive, or build something from scratch. Every item lands in your queue.
Every page of a PDF becomes its own interactive slide in your sequence. Multi-page documents are split automatically. You get full control over each page with the PDF Crop Editor.
- Each page automatically becomes one slide
- PDF Crop Editor: draw a region to show only part of a page
- Mask any region by overlaying a colored block
- Per-page navigation in present mode
- Rendered client-side, no file upload to any server
- Works with any PDF size and orientation
- Supports text-based and image-based PDFs
PowerPoint, Word, and Excel files are converted via LibreOffice to PDF and then split into slides. Visually supports two rendering paths: in-browser WebAssembly or the Gotenberg server, whichever is available.
- PowerPoint (.pptx, .ppt, .odp): each slide becomes one presentation slide
- Word documents (.docx, .doc, .odt): pages become slides
- Excel / spreadsheets (.xlsx, .ods): converted to PDF view
- LibreOffice WASM option: conversion runs entirely in-browser, zero upload
- Gotenberg server option: cloud-based conversion with LibreOffice
- Formatting, images, and charts preserved during conversion
Image files display full-screen as a slide. Animated GIFs play during the presentation. SVGs render at any resolution without pixelation. Images can also be embedded inside custom slides for compositing.
- Full-screen rendering with maintained aspect ratio
- Animated GIFs play automatically in present mode
- SVG files render as scalable vector graphics (no quality loss)
- AVIF and WEBP for optimized web images
- Images can also be placed inside the slide editor on any custom slide
- No file size processing needed, rendered natively by the browser
Video files play directly in the presentation. The presenter's playback position syncs in real time to all audience devices. You can set timestamp markers to jump to specific moments, or trim the start and end point.
- MP4, WebM, and MOV formats (other formats can be converted first)
- Timestamp markers: set a start position within the video
- Start and end trim: define the play range
- Playback synced to all connected audience devices
- Autoplay when the slide is reached
- Loop option for ambient video slides
- Full-screen display matching the video aspect ratio
CSV files and Excel spreadsheets render as fully styled, interactive data tables. Column headers are detected automatically. Tables scroll horizontally for wide datasets and are readable on any device.
- Auto-detects column headers from the first row
- Styled table with alternating row colors
- Horizontal scrolling for wide tables
- Supports UTF-8 encoded CSV files
- Excel (.xlsx) sheets converted to the same table view
- Charts can sync to a CSV item to show live data
Source code files are rendered as syntax-highlighted slides with proper language detection, line numbers, and a dark theme. Great for technical talks, code reviews, and teaching sessions.
- JavaScript, TypeScript, Python, Rust, Go, Java, C, C++, C#
- Swift, Kotlin, PHP, Ruby, Scala, Haskell, and 20+ more
- HTML, CSS, JSON, YAML, TOML, Markdown, SQL
- Line numbers displayed
- Dark theme syntax highlighting
- Horizontal scrolling for long lines
- Copy code button visible on hover
Upload a 3D model and it renders as a live interactive viewer slide. Presenters and audience members can rotate, zoom, and pan the model in real time during the presentation. The file is cached locally in IndexedDB so reloading never loses the model.
- STL: common 3D printing format (binary and ASCII)
- OBJ: Wavefront object format with material support
- GLB: Binary GLTF with textures and animations
- Powered by Three.js with WebGL rendering
- Orbit controls: left-drag to rotate, scroll to zoom, right-drag to pan
- Works for both the presenter and the live audience
- Cached in IndexedDB automatically, survives reloads
Paste any YouTube URL into the URL input and Visually adds it as an embedded player slide. No download needed. YouTube timestamps in the URL are honoured, so the video starts at the right moment.
- Paste a youtube.com or youtu.be URL to add a player slide
- Timestamp support: ?t=120 or &start=120 in the URL
- Autoplay when the slide is reached in present mode
- YouTube controls available during presentation
- Works via YouTube embed API, no download or storage used
Paste any URL to embed it as a live, interactive iframe slide. Visually checks whether the site allows embedding and warns you upfront. For sites that block iframes, you can add a link-button slide instead, or use the Screenshot feature to capture a static version.
- Paste URL and click "Verify" to check embed compatibility
- Green result: site can be embedded as a live interactive iframe
- Yellow result: site blocks embedding (e.g. Google, GitHub, LinkedIn)
- "Live Embed" option: adds the URL as an interactive iframe slide
- "Link Button" option: adds a button slide that opens the URL in a new tab
- Audience can interact with the embedded page during presentation
The Screenshot button renders any URL through Gotenberg (a headless Chromium PDF service) and converts the result into slides. Useful for sites that cannot be embedded live. The rendering handles JavaScript, CSS animations, and modern web layouts.
- Headless Chromium renders the page as a PDF via Gotenberg
- PDF is automatically split into slides (one page = one slide)
- Two-phase process: Rendering (up to 30s cold start) then Processing
- Live step indicator shows which phase is active
- Auto-retry if the Gotenberg service is cold-starting (503)
- Works for any public URL including complex web apps
- Requires GOTENBERG_URL environment variable to be configured
Connect your Google Drive account to browse and import files directly. PDFs, images, videos, and Google Docs are all supported. Visually only requests access to files you explicitly select — the full Drive is never scanned.
- Connect once via Google OAuth, then browse any folder
- Import PDFs, images, videos, and Docs directly
- Google Docs are exported as PDF on import
- Files are downloaded to the browser session, not stored on any server
- Disconnect Google Drive at any time from settings
- Visually only touches the Visually-specific folder when writing back
Capture your screen, a specific window, or a browser tab and stream it as a live slide in your presentation. Great for software demos, coding sessions, or showing anything that cannot be embedded.
- Captures entire screen, a window, or a single browser tab
- Stream is displayed live to all audience members
- Uses the browser's Screen Capture API
- No additional software or plugins required
- Presenter starts and stops the capture at any time
- Works alongside other slides in the sequence
Paste the URL of any Google Form to embed it as a live, interactive slide. Audience members can submit their responses during the presentation. Results go directly to your connected Google Sheet.
- Paste any Google Form URL to create a form slide
- Audience members see and fill the form in real time
- Responses are collected in your Google Sheets automatically
- Great for live polls, Q&A, quizzes, and feedback collection
- Requires that the form is set to allow public responses
Built-in Content
These items are created inside Visually without uploading any file. They live in your local browser storage and can be added to any presentation.
The full visual slide editor. Add text, images, shapes, icons, charts, QR codes, embedded mind maps, and more. Switch to raw HTML/CSS mode for unlimited control. Animate any element with motion paths.
- Drag-and-drop element positioning
- Rich text with font, size, color, and shadow controls
- Shapes, icons (Lucide library), and images
- Embedded charts, QR codes, and mind maps
- Solid, gradient, or image backgrounds
- Motion path animations on any element
- Raw HTML/CSS override mode
- Template picker for fast layouts
A freeform infinite canvas powered by tldraw. Draw, write, add sticky notes, create shapes, and annotate freely. Export as an image at any time or embed the whiteboard directly in your presentation.
- Freehand drawing with pressure sensitivity
- Sticky notes, arrows, and text labels
- Geometric shapes: rectangle, ellipse, diamond, star
- Infinite canvas, pan and zoom freely
- Export to PNG or add directly as a slide
- Auto-saved locally, reopenable from the Dashboard
-
Also accessible standalone via the console:
whiteboard
A full rich-text editor for creating standalone documents. Auto-saved locally as you type. Supports headings, lists, bold/italic, inline code, and word count. Export to PDF, add to a presentation, or share via a public link.
- Headings H1 through H4
- Bold, italic, underline, strikethrough
- Ordered and unordered lists
- Inline code blocks
- Live word count display
- Auto-saved to browser storage
- Export as PDF or embed in presentation
- Share as a read-only public link (up to 6 weeks)
- Manage and revoke shared links from the Library
A node-based diagram editor built on ReactFlow. Create mind maps, flowcharts, and concept maps by adding nodes and connecting them. Auto-layout keeps the diagram readable as it grows. Share as a read-only interactive view.
- Click canvas to add a new node
- Drag between nodes to connect them
- Label each node with custom text
- Auto-layout to organize nodes automatically
- Export as image or embed in a custom slide
- Auto-saved and reopenable from the Dashboard
- Share as a read-only public link (up to 4 weeks)
- Manage and revoke shared links from the Library
Create bar, line, and pie charts directly inside Visually using the built-in data editor. Charts can be placed on any custom slide or added as a standalone slide. Link a chart to a CSV file to keep data live.
- Bar chart: compare categories side by side
- Line chart: show trends over time
- Pie chart: show proportional distribution
- Built-in data editor, no spreadsheet app needed
- Customizable colors, labels, and axis titles
- Charts can sync to an uploaded CSV item for live data
- Embeddable on any custom slide
Slide Editor Tools
Every tool available inside the custom slide editor. Accessed from the Create page when editing a custom slide.
Add text elements of any size anywhere on the slide. Control font, weight, size, color, alignment, line height, letter spacing, and shadow. Text elements can be animated with motion paths.
- Heading sizes: H1, H2, H3, body, caption
- Font family and weight selection
- Color picker with hex, RGB, and opacity support
- Text alignment: left, center, right, justify
- Drop shadow with blur and offset controls
- Paragraph spacing and line height
- Letter spacing
Place geometric shapes and icons from the Lucide icon library (1000+ icons). Every shape has fill, stroke, opacity, and border-radius controls. SVG files can be imported and placed on any slide.
- Rectangle, circle, rounded rectangle
- Line, arrow (straight and curved)
- Polygon and star shapes
- 1000+ Lucide icons, searchable by name
- Fill: solid color, gradient, or image
- Stroke width and color controls
- Opacity and blend mode
- Z-index (layer order) controls
Render mathematical formulas using full LaTeX syntax, powered by KaTeX. Both inline and block (display) math modes are supported. Output renders at any size without pixelation.
- Full LaTeX math syntax supported
- Inline mode: render formulas within text
- Display/block mode: centered standalone formulas
- Fractions, integrals, sums, matrices, vectors
- Greek letters, operators, and special symbols
- Scalable SVG output, no pixelation at any size
Insert syntax-highlighted code blocks directly on a custom slide. Choose the language, and the block highlights keywords, strings, and operators automatically. Line numbers are shown and the block scrolls horizontally.
- 30+ programming language options
- Theme-matched dark syntax highlighting
- Line numbers visible on the left
- Horizontal scrolling for long lines
- Copy button appears on hover
- Monospace font for accurate rendering
Generate a QR code on any slide by entering a URL or any text string. The QR code updates live as you type. Resize and position it freely on the slide.
- Enter any URL, text, or data string
- QR code updates in real time as you type
- Drag to reposition on the slide
- Resize while maintaining scannability
- Great for sharing links during a presentation
Animate any element on a slide using motion paths. Define an entry animation that plays when the slide is shown. Set timing, easing, and delay to sequence multiple elements.
- Entry animations: fade in, slide in, scale in
- Custom motion paths with control points
- Per-element timing and delay settings
- Easing presets: linear, ease, ease-in, ease-out
- Trigger on slide entry or on click
- Preview animations in the editor
Switch any custom slide to raw HTML/CSS mode for unlimited design control. Write any valid HTML and CSS. JavaScript is also executed, enabling dynamic slide content and interactive elements.
- Full HTML5 support within the slide boundary
- Custom CSS with any property or layout
- JavaScript executed in the slide context
- Mix visual editor elements with custom HTML
- Great for complex layouts, animations, or embeds
- Live preview as you type in the editor
Pick from a collection of pre-built slide templates to get started quickly. Templates include title slides, section dividers, two-column layouts, quote slides, and more. Apply any template to a new or existing slide.
- Title and hero slide layouts
- Section divider with accent color
- Two-column content layout
- Quote slide with attribution
- Team / profile card layout
- Timeline and steps layout
- Templates adapt to the current theme colors
File Converter
The Convert tab in Add Media transforms video, audio, and document files into formats Visually can use. Video and audio processing runs entirely in your browser via FFmpeg WebAssembly, so no file ever leaves your device. Office conversion goes through the LibreOffice server.
Convert any video file to a format playable in the browser. FFmpeg compiled to WebAssembly runs entirely in your browser, so video files never leave your device. Progress is shown live with an animated indicator.
- Input: MP4, WebM, MOV, AVI, MKV, FLV, and more
- Output: WebM (VP9), MP4 (H.264), MOV, GIF
- Runs entirely client-side via FFmpeg WASM
- No file is uploaded to any server
- Live progress indicator during conversion
- Entertainment popup with science facts while you wait
- Output automatically added to your media queue
Convert audio files or extract audio from a video. All processing runs client-side via FFmpeg WASM. Converted audio files are added to the media queue as audio player slides.
- Extract audio track from any video file
- Convert between MP3, WAV, OGG, AAC, FLAC
- Runs entirely in-browser, no upload
- Same FFmpeg WASM engine as video conversion
- Output added to media queue as an audio slide
Convert PPTX, DOCX, ODT, and other Office files to PDF using LibreOffice on the Gotenberg server. The resulting PDF is immediately available for download or import into your presentation.
- PPTX, PPT, ODP → PDF (each slide as a page)
- DOCX, DOC, ODT → PDF (paginated)
- XLSX, ODS → PDF (tabular view)
- Processed by LibreOffice via Gotenberg
- Download the converted PDF directly
- Or add it straight to your media queue as slides
- Requires GOTENBERG_URL to be configured
Create & Organise
The Create page is both your slide editor and your queue manager. Build slides from scratch, then drag them and all your imported media into the perfect sequence, set transitions, and preview the full flow before going live.
Drag any item up or down to reorder it directly in the Create page. Mix different types of media, custom slides, websites, and tools in any order. The full sequence is saved automatically.
- Drag-and-drop reordering for all items in the Create page
- Item type shown with a colored badge (PDF, Video, Custom, etc.)
- Item name and thumbnail visible at a glance
- Remove, duplicate, or rename items from the queue
- Mix any combination of media types freely
- Changes saved instantly to local storage
Set a transition effect between any two items in the sequence. Each transition slot is configurable independently from within the Create page, so you can fade between some slides and zoom between others.
- Fade: smooth opacity crossfade
- Slide: content slides in from the side
- Zoom: next slide zooms in from center
- No transition: instant cut (default)
- Each slot between two items is configurable
- Transition duration adjustable
Launch a full-screen preview directly from the Create page to walk through your entire presentation before going live. All transitions, videos, and interactive elements work exactly as they will in the real session.
- Full-screen preview mode
- All transitions play as configured
- Videos and interactive elements work
- Navigate forward and backward with arrow keys
- Exit preview with Escape key
Present Mode
Go live with a real-time session. Your audience joins from any device with zero friction — no account, no download, no app install. You stay in control; they follow.
The Present page opens with three mode-selector cards. Pick the one that fits your situation before starting — each card shows a description and launches a differently configured session.
- Local Solo (blue) — self-contained session on one device, no audience join required
- Remote Sync (green) — Firebase-backed live room, audience joins via code or QR
- P2P Direct (amber) — WebRTC direct connection, no cloud, ideal for local networks
- Selected mode is highlighted with a color ring; CTA button matches the mode color
- Configuration panel below the cards adapts to the selected mode
- Firebase Realtime Database syncs slide state in Remote mode
- Reconnects automatically if connection drops (Remote mode)
Audience members join by typing a 4-character code or scanning the QR code. No account, no app, and no install required. Any browser on any device works.
- 4-character alphanumeric join code
- QR code generated alongside the join code
- Project the QR code on screen for instant audience access
- Share a direct URL as an alternative
- No account or download required for viewers
- Works on all modern browsers and devices
P2P Mode establishes a direct peer-to-peer WebRTC connection between the presenter and audience without routing data through Firebase. Works on local networks and reduces latency. Ideal for offline events or privacy-sensitive sessions.
- Direct WebRTC data channel between presenter and viewers
- No Firebase or cloud backend involved
- Works entirely on a local network (no internet needed)
- Lower latency than Firebase for same-network use
- Presenter and audience on the same WiFi works perfectly
- Activate by toggling P2P mode on the Present page
Join your own session from a second device (phone, tablet) as a remote control. Navigate slides forward and backward from anywhere in the room without touching the main screen.
- Join your own session on a second device
- Tap next/prev to advance slides remotely
- Works alongside audience viewers in the same room
- No special hardware needed, any browser works
- Wireless clicker alternative built into the app
Write presenter notes for any slide that are only visible to you during the presentation. Notes support Markdown formatting. The AI Cockpit can generate notes automatically based on slide content.
- Add notes to any slide in the sequence
- Visible only to the presenter on their device
- Markdown formatting supported (bold, lists, links)
- Open the notes editor from the slide queue
- AI-generated notes via the AI Cockpit (uses your API key)
- Notes exported with the presentation save file
The audience view is a fully responsive page that mirrors the presenter's current slide in real time. Interactive elements — Google Forms, live websites, 3D models, and YouTube players — all work for audience members too.
- Follows presenter's slides in real time
- Responsive layout for phones, tablets, and desktops
- Google Forms are fillable by each audience member
- Live website iframes are interactive
- 3D model viewers are rotatable by audience
- YouTube players are watchable independently
- No account, no app, no download required
Real-Time Collaboration
Collab mode lets multiple people build and edit a presentation queue together in real time over a direct WebRTC data channel. The host creates a session and shares a code; peers join and every add, remove, and reorder syncs instantly — no cloud relay, no latency.
Open the Collab panel from the Add Media sidebar and click "Start Session". Give the session a name, optionally set a password, then share the generated session ID with your collaborator. As peers request to join, approve them from the panel.
- Open the Collab panel via the collab icon in the Add Media sidebar
- Enter a session name and optional password for private sessions
- Session metadata registered in Firebase Realtime Database
- Share the session code or copy the direct join link
- Peer join requests appear in the panel — approve to connect
- Full Yjs document state synced to the peer on first connect
- Host can end the session at any time to return to solo editing
Enter the session code in the Collab join panel. If the session is password-protected, enter the password. Once the host approves, a direct WebRTC data channel opens and the full queue state syncs to your device immediately.
- Enter the session ID or paste an invite link in the Collab panel
- Enter the password if the session is protected
- Wait for host approval — the request appears in the host's panel
- On connect, full queue state syncs to your device immediately
- All subsequent edits from either side appear in real time
- If the connection drops, Visually auto-retries up to 3 times
- Retry delays: 2 s → 3 s → 4 s between attempts
While a session is active, a live presence panel above the media queue shows every collaborator's name, color-coded avatar, and the queue item they are currently looking at. Queue items being hovered by a peer get a colored outline and a small avatar bubble.
- Presence panel shows name + avatar + current item for every peer
- Each collaborator gets a unique color assigned automatically
- Hovering a queue item broadcasts your position to all peers instantly
- Queue items show a colored outline when a peer is viewing them
- Small avatar bubble appears top-right on the focused item
- Shows "browsing…" when a peer has no item focused
- Awareness messages sent over the shared WebRTC data channel
Reloading the page does not end your collab session. Visually stores an active session record locally and automatically resumes after reload — for both the host and all peers. The host re-registers as listener; peers re-initiate the WebRTC handshake.
- Session state written to localStorage as a CollabLocalRecord
- On reload, Visually checks for an active record immediately
- Firebase is queried to confirm the session is still live
- Host: restores Yjs state, re-registers join listener, resumes UI
- Host: binary file cache re-warmed so late-joining peers receive files
- Peer: re-initiates WebRTC connection to the still-running host
- If the session no longer exists on Firebase, the record is cleared gracefully
Images, PDFs, and other binary files from the host's queue are transferred directly to each peer over the WebRTC data channel. Files are split into 48 KB chunks encoded as base64, then reassembled on the peer into a usable Blob URL for rendering.
- Files sent as 48 KB base64-encoded chunks over the data channel
- Peer reassembles chunks and creates a local Blob URL on completion
- PDFs and images render immediately once the Blob is available
- Host keeps an in-memory binary cache of all uploaded files
- Cache is re-warmed after a host page reload so new peers still receive files
- File transfer runs in the background — does not block queue sync
- No file ever passes through any server — purely peer-to-peer
While a collab session is active, the Library (Dashboard) is locked. Navigating to the Dashboard automatically redirects you back to Add Media. This prevents switching projects mid-session, which would desync all connected peers.
- Dashboard navigation redirects to /add while any session is active
- Prevents project switching that would break peer sync
- The Collab panel remains accessible in the sidebar at all times
- End or leave the session first to regain full library access
- Add Media, Create, and Present pages all remain accessible
Dashboard / Library
The Dashboard is your persistent library. It stores presentations, documents, and mind maps — including any items you have shared publicly — so you can reopen, manage, or revoke them at any time.
Save your current presentation with a name and thumbnail, then reopen it in any future session. Your full library is visible on the Dashboard with the last-modified date.
- Save the current queue as a named presentation
- Thumbnail auto-generated from the first slide
- Reopen any saved presentation to continue editing
- Rename or delete presentations from the library
- Duplicate a presentation to create a variation
- Stored in IndexedDB, persists across sessions
Standalone documents and mind maps are auto-saved and appear in their respective sections. Each section also shows any items you have shared publicly — with expiry date, copy-link button, and a revoke option.
- All documents visible in the Documents section
- All mind maps visible in the Mind Maps section
- Click to open and continue editing
- Copy a document or mind map into the current presentation
- Rename or delete from the library
- Shared items shown with expiry date and public link
- Revoke a shared link directly from the library card
AI Cockpit
The AI Cockpit connects Visually to your own AI API keys. You bring the keys — Visually provides the integration. No AI data passes through Visually's servers; all calls go directly from your browser to the AI provider.
Enter your OpenAI or Anthropic API key in the AI Cockpit settings. Keys are stored only in your browser's local storage and never sent to Visually's servers. API calls go directly from your browser to the AI provider.
- OpenAI API key (GPT-4o, DALL-E 3)
- Anthropic API key (Claude models)
- Keys stored in browser localStorage only
- API calls bypass Visually's servers completely
- Choose preferred model from a dropdown
- Remove keys at any time via the AI settings page
DALL-E 3 (images)
Claude 3 Haiku · Opus
Describe a slide in natural language and the AI generates the content, layout, and copy for it. The generated slide appears in your editor ready for refinement.
- Prompt: describe the slide in plain language
- AI generates text, headings, and layout suggestions
- Output appears as an editable custom slide
- Multiple layout styles to choose from
- Works with both OpenAI and Anthropic backends
- Requires an API key to be configured
Generate images from a text prompt using DALL-E 3 via your OpenAI key. The generated image is added to your media queue or placed on the current slide directly.
- Text-to-image via DALL-E 3
- Choose size: square, portrait, landscape
- Add the image to the current slide or the media queue
- Calls go directly from browser to OpenAI
- Requires OpenAI API key with DALL-E access
Generate presenter notes for any slide automatically. The AI analyzes the slide content and writes talking points, context, and speaker guidance. Notes are editable after generation.
- Analyze slide content to generate relevant notes
- Output includes talking points and context
- Notes appear in the presenter notes editor
- Editable after generation
- Works with OpenAI and Anthropic
Upload a PDF and ask the AI to generate a summary, key takeaways, or a structured outline. The output can be added as a new slide, saved as a document, or copied to your clipboard.
- Upload any PDF for AI analysis
- Generate: summary, bullet takeaways, or full outline
- Customize the prompt for specific output formats
- Add the result as a new slide or document
- Works with both OpenAI and Anthropic
Solar capacity grew 23% YoY, reaching 257 GW. Wind power now covers 18% of EU electricity demand. Key driver: REPowerEU targets and falling LCOE for offshore wind.
Console
The built-in terminal gives power users a keyboard-driven way to navigate, open tools, inspect storage, and manage priority access. Open it with the terminal icon in the navigation bar.
All commands can be typed without a leading slash. The console remembers your session history and provides autocomplete-friendly short names.
Prefer Codes
For critical presentations — keynotes, conferences, large-scale events — Prefer Codes activate a dedicated backend pipeline reserved exclusively for you during your time window.
Activating a Prefer Code switches Visually to a dedicated infrastructure tier with an isolated Firebase instance, a private conversion pipeline, and no shared traffic. Valid for a specific 24-hour window.
- Dedicated Firebase instance for live sessions
- Isolated LibreOffice and Gotenberg conversion pipeline
- No shared traffic from other users during your window
- 24-hour validity window with countdown timer in the nav
- Activate instantly via the console command
-
Deactivate at any time with
prefer clear
Codes are issued on request for specific events and time windows. Send a DM to @yourmothersolutions on Instagram with your use case and the date and time of your presentation.
- Contact @yourmothersolutions on Instagram
- Describe your use case and presentation context
- Specify the exact date and time window you need
- Codes are issued per-event, not permanently
- No cost — Prefer Codes are provided as a courtesy
Your data stays yours.
Visually is local-first by design. No account is required, no files are tracked, and no analytics are collected. Here is exactly what happens with your data.
Three situations cause data to leave your device. All are explicit user-triggered actions.
- Live sessions (Firebase): slide position and state is synced via Firebase so audience devices follow in real time. No file content is stored — only slide index and session metadata.
- Shared documents & mind maps (Firebase): when you share an item, its content is written to the Visually sharing Firebase project and readable by anyone with the link until the expiry date. Revoking the link deletes the data.
- Office file conversion (Gotenberg): if you upload a PPTX/DOCX for conversion and LibreOffice WASM is not used, the file is sent to the configured Gotenberg server. Self-hosted by the operator.
- URL Screenshot (Gotenberg): when you use the Screenshot button, the target URL is sent to Gotenberg which renders it with headless Chromium. The resulting PDF is returned to your browser.