DeckForge
- CATEGORYPresentation platform
- BUILT ONMaster slides + brand layer
- SHARINGPer-link access & analytics
- BEST FORTeams, agencies, sales
A web-based, collaborative presentation platform built on three ideas: master slides that update every deck at once, brands applied as a render-time layer, and share links that each carry their own access rules and analytics. One deck, any audience, every metric in view.
Three ideas that change how decks work.
DeckForge treats slides like components, brands like context, and links like first-class entities. Together they turn presentations into something a whole team can maintain — close in spirit to the systems we build across the rest of our product portfolio.
Slides that behave like components
Admin-curated slide templates work like a design system. Edit a master slide once and every deck that references it re-renders on the next view — or copy-and-detach to break the link and edit freely.
One deck, any brand
Colours, fonts, logos, and variables live in brand profiles applied at render time. Swap the brand and the whole deck re-renders — the content and layout never change.
Every link is its own entity
Each shareable link carries its own access rule, brand context, and analytics. The same deck can be public to one audience, password-gated for another, and invite-only for a third.
Start from a blank canvas — or a prompt.
Different workflows deserve different starting points, from a blank slide to an AI-assembled draft. Every path lands in a Draft, ready to refine before you publish.
Scratch
A blank deck with a default layout — build it slide by slide.
Topic-based AI
Enter a topic and notes; AI drafts an outline and maps each section to a master slide or layout.
Pick & choose
Browse the master slide library and layout gallery, then hand-pick and drag-to-reorder slides.
Content-first AI
Paste your content; AI reads its structure and assigns the right layout to each section.
Duplicate & repurpose
Clone any deck and optionally swap its brand profile in the same step.
A zone-based editor built to feel fast.
Slides are assembled from named zones on a responsive grid, with rich text, precise media, a curated layout library, and AI that suggests the right shape for your content.
- 01 · EDITOR
Zone-based on a 12-column grid
Every slide is built from named content zones — text, image, video, chart, embed — that resize and reposition on a responsive grid.
- 02 · EDITOR
Rich text that respects the brand
Inline bold, italic, lists, links, and alignment, with heading and caption styles drawn from the active brand font stack.
- 03 · EDITOR
Media you can place precisely
Drag, resize, crop, and set object-fit (cover, contain, fill) for images and video inside any zone.
- 04 · EDITOR
A curated layout library
Standard layouts always on hand — Full Bleed, Two Column, Stat Cards, Timeline, Comparison, Big Quote, Title Only, Image + Caption — plus custom layouts Admins build.
- 05 · EDITOR
AI layout suggestions
Focus a zone and let the editor read its content type and volume, then recommend the three best-fit layouts.
- 06 · EDITOR
Accurate responsive preview
Toggle mobile, tablet, and desktop breakpoints that reflow zones exactly as the public view will render.
- 07 · EDITOR
Brand variable tokens
Type {{ to insert a variable as a highlighted, non-editable pill — resolved to the brand’s value at render time.
- 08 · EDITOR
Undo, redo, and auto-save
A 50-step undo stack and auto-save every 30 seconds while you hold the deck lock — manual save always available.
Swap the brand. Keep the content.
Slides reference semantic colour tokens and variable keys, never raw values — so a single deck can present as a completely different brand without anyone touching a slide.
Colour and type, by meaning
Each brand defines named colour slots — primary, secondary, accent, surface, text — and font stacks for heading, body, and mono. Upload custom WOFF2 fonts served from the CDN. Because slides point at tokens, a brand swap re-renders the whole deck correctly.
Values that resolve at render time
Reference a variable as a token in any text zone and it resolves to the active brand’s value when the public view renders — never baked into stored content. Unresolved tokens are flagged in the editor and listed in a pre-publish checklist, and an AI brand audit catches anything that slipped through.
Know exactly who watched, and how far.
First-party engagement analytics — captured server-side, segmented by link, and tied to named viewers on invitation links. If you’d rather wire in your own stack, you can. It pairs well with the data and AI/ML engineering work we do.
- 01 · METRIC
First-party event tracking
Views, per-slide dwell time, completions, link clicks, and download attempts — captured server-side, stored in the platform database.
- 02 · METRIC
Presentation metrics
Total views, unique viewers, average completion, average duration, the most-dropped slide, and repeat views.
- 03 · METRIC
Per-link breakdown
Every metric segmented by named link, so you can compare engagement across channels and audiences.
- 04 · METRIC
Named-viewer timelines
For invitation-only links, events tie to the authenticated email — a per-viewer trail of slides and dwell time for follow-up.
- 05 · METRIC
Privacy-aware geo
Country and city resolved from IP, with a workspace-level toggle to turn IP tracking off entirely.
- 06 · METRIC
Bring your own analytics
Admins can inject a GA4, GTM, Segment, Plausible, or Mixpanel snippet into the public viewer head — never into the editor.
Built for teams, without co-editing chaos.
Pessimistic locking keeps two people from clobbering the same slide, while comments, approvals, version history, and per-deck permissions keep the whole team moving in one direction.
Pessimistic edit locking
Opening a deck for editing takes a lock; everyone else sees a read-only view that names who’s editing and since when. No co-editing race conditions.
Force-release and heartbeat
A lock heartbeat pings every 60 seconds and auto-releases after inactivity; a Deck Manager can force-release a stuck lock and the original holder is notified.
Comments with @mentions
Pin comments to any slide, mention teammates, and resolve or re-open threads.
Approval workflow
Contributors submit for review; managers approve or request changes. Only approved decks can generate public links.
Version history
Auto-snapshot on every publish plus manual labelled saves — preview and restore any version.
Per-deck permissions
Owners grant view, comment, or edit access to specific workspace members.
AI that assembles, matches, and audits.
Topic-to-deck generation
Describe a topic and DeckForge drafts a structured outline, mapping each section to a master slide or layout.
Content-first layout matching
Hand it your raw content and it assigns the layout that fits each section.
In-editor layout suggestions
A lightweight, contextual call returns the three best layouts for the zone you’re working in.
AI brand audit
Scan a deck for hard-coded hex values, off-brand fonts, and strings that should be tokenised — with slide-level findings.
TypeScript everywhere, brand engine kept separate.
An API-first build where the editor, the public viewer, and the analytics dashboard all consume the same contract — and brand tokens resolve at render time, never baked into content.
Next.js with the App Router — server-rendered public deck views for SEO and fast load, client editor with Tiptap rich text and a custom zone engine. TypeScript in strict mode throughout.
dnd-kit and resizable panels for drag and resize, Zustand for editor state, TanStack Query for server state, Recharts for native charts, and Framer Motion for purposeful slide transitions.
A Node runtime on a lightweight Hono server, REST with an OpenAPI spec, magic-link auth for invitation viewers, Drizzle ORM, and BullMQ jobs for master-slide propagation and asset processing.
PostgreSQL with JSONB slide content and row-level security, Redis for sessions and lock heartbeats, S3-compatible object storage, and a CDN for optimised images, video, and fonts.
Open the real thing, on its own site.
DeckForge runs its own live deployment — open it to see master slides, brand swapping, and shareable links in action.
The questions teams ask first.
Weighing build versus buy for a presentation platform? Talk to us about deploying DeckForge under your brand, or browse the rest of the product portfolio.
What makes master slides different from a template?
A master slide is a live reference, not a copy. When an Admin edits it, every deck that references it re-renders automatically on next view. If you’d rather freeze a slide, Copy & Detach turns it into an independent copy that no longer inherits changes.
Can the same deck present as different brands?
Yes. Brand profiles hold colours, fonts, logos, and variables, and slides reference semantic tokens rather than raw values. Assign a different brand — or bind one to a specific share link — and the whole deck re-renders without touching content or layout.
How does access control work per link?
Each deck can have unlimited named links, and every link is its own entity with one access type: public, time-bound, password-protected, or invitation-only. Links track analytics separately and can be paused instantly without losing history.
Can it be white-labeled?
Yes. Per-link viewer controls let you hide DeckForge branding so a deck presents entirely under your own brand, and the whole platform can be deployed under your brand.
What analytics do viewers generate?
First-party events are captured server-side — views, per-slide dwell time, completions, clicks, and download attempts — and rolled up into presentation, per-link, and (for invitation links) named-viewer metrics. You can also inject your own GA4, GTM, or Segment snippet into the public viewer.
One deck, every brand, every audience.
Tell us how your team builds and shares decks, and we’ll stand up DeckForge under your brand — master slides, render-time branding, per-link access, and analytics included.