Command every room
Your deck on the big screen. Your notes on the other.
Slates drives a full-screen PDF deck to an external monitor while a posture-aware dashboard — synced Markdown notes, pacing timers, and one-tap navigation — runs on your second screen. Author in the browser; present offline on the Galaxy Z Fold 7, your Mac, or an iPad.
One screen for them, one for you
External monitor shows the deck. The inner screen is your dashboard — notes, timers, pacing.
- Open with the live demo.
- Land the pacing story.
Keep this tight — it's the hook.
target: "4:30"
---
## One screen for them…
Why we built it
Mirroring your laptop was never presenting.
Plug in a projector and both screens show the same thing — so your notes live on a phone in your hand, your timing lives in your head, and one dead Wi-Fi moment can take the whole talk down.
- The audience sees the deck. You see a real dashboard — notes, the next slide, and where you are against the clock.
- The Fold 7 is two screens in your pocket. No confidence monitor, no dongle theatre — just unfold and go.
- Every deck is prefetched. PDF and notes are verified on-device before you start, so the talk runs even fully offline.
Everything in the room
A presenter's cockpit, not a slideshow.
Purpose-built for the moment you're on stage — and for the hours of prep and collaboration before it.
Dual-display presentation
Push a full-screen deck to the external monitor while your dashboard stays private. Advance on the dashboard, the audience screen mirrors instantly.
Posture-aware layout
On the Fold 7 the UI follows the hinge — a unified dashboard when flat, a tabletop split (previews up top, notes below) when half-folded.
Pacing telemetry
A global clock, a per-slide timer, and live on-track / ahead / overtime status against each slide's target — so you land the talk on time, every time.
Markdown speaker notes
Write notes in Markdown with YAML frontmatter for per-slide targets. They render beautifully on every presenter and sync the instant you save.
Share like a Google Doc
Invite people by email or link at viewer, commenter, editor, or owner roles. Membership is per-deck; only allowlisted accounts can own one.
Threaded comments & @mentions
Leave per-slide feedback, reply, resolve. Mention a teammate and they get an email plus an in-app notification — powered by Cloud Functions.
Import from Google Drive
Start a deck from a PDF or a Google Slides file — Slates carries each slide's speaker notes and skip state straight into the authoring source.
Reliable offline
The deck and every note are prefetched and verified before "Start Presentation" unlocks, and cached on disk. Lose the network mid-talk? Nothing changes.
In-app auto-update
The Mac app quietly updates itself from a signed bundle — opt-in, and never in the middle of a live talk.
One contract, four apps
Author once. Present anywhere.
Four independent apps that share only a Firebase backend and a single Firestore data contract — each native to its platform, each rendering PDFs at full fidelity.
Galaxy Z Fold 7
Kotlin & Compose. Posture-aware dual display via Presentation + MuPDF, so soft-masks and transparency composite perfectly.
macOS
A tiny signed Tauri app. Pins a borderless deck window to your external screen and renders slides with native Apple Quartz.
iPad & iPhone
A native Swift shell with a bundled web presenter. Swipe or use a remote; PDFs render with native Core Graphics.
Web
React + PDF.js. Upload, write notes in CodeMirror, manage sharing and comments — the tool that feeds every presenter.
On the second screen
A teleprompter that keeps you on time.
A giant tabular clock, a per-slide timer, and a pacing chip that turns from green to amber to red against each slide's target. Skipped slides step themselves over and drop out of the math.
- The clock survives a crash. Restart mid-talk and it rejoins where you were.
- Edit a note live. Fix a typo on stage; it syncs back to the deck.
- Deliberate, distraction-free transitions on the audience screen.
One screen for them, one for you
- Open with the live demo.
- Land the pacing story.
Where the minutes go. Call out the lime bar — that's the Q&A buffer we protect.
Better together
Sharing that works like the tools you already know.
Roles from viewer to owner, invite-by-email or anyone-with-link, pending invites that resolve on first sign-in — the Google-Drive playbook, applied to decks.
- Comment on any slide, thread a reply, resolve it — right beside the notes.
- @mention a teammate and they get an email and an in-app ping.
- Read & comment from any presenter — the people panel travels with the deck.
Three steps to stage
From a PDF to a polished talk.
Author in the browser
Upload a PDF or import from Google Slides. One page becomes one slide. Write Markdown notes and set a target time per slide; everything autosaves to the cloud.
Prefetch & verify
Open the deck on any presenter. It downloads the PDF and every note, verifies the deck is complete, and caches it on disk — then unlocks “Start Presentation.”
Present — online or off
Unfold, or connect a monitor. The deck fills the big screen; your dashboard drives it with notes, timers, and pacing. Wi-Fi optional.
Firebase Auth · Firestore realtime sync · Cloud Storage for the PDF · Cloud Functions for invites & mentions. Rendered with MuPDF, Apple Quartz & Core Graphics, and PDF.js.
Stop mirroring. Start presenting.
Slates turns any foldable, Mac, or iPad into a proper presenter rig — and turns your browser into the authoring tool that feeds it.
@evan can we tighten this to 4 min? ⏱
Good call — trimming the intro.
Logo looks sharp now ✓