From any topic to a professional deck in 60 seconds — share via permanent link, present live with audience sync, and track engagement per slide. 6.7k+ active users, 17 languages, shipped solo.

LivingSlide is an AI-powered online presentation platform I designed and built end-to-end. Users enter a topic, paste an outline, or upload a PDF / DOCX / TXT and the AI returns a fully styled deck in under 60 seconds. Every presentation gets a permanent online URL — edit it anytime, present it live with real-time audience sync and Q&A, and watch a per-slide heatmap of who's actually paying attention. As of today the product has 6.7k+ active users and ships in 17 languages with a Stripe-billed credits system, async generation queue, and a 25+ block-type editor.
Traditional PPT files die the moment they leave your laptop. They go out of date, you can't update them, you have no idea who actually watched them, and "giving the deck" still means screen-sharing or emailing a .pptx. LivingSlide's bet is simple: make every presentation a living web page — permanent URL, real-time sync, audience analytics, AI-assisted editing. As of today the product has 6,700+ active users and ships in 17 languages.
Three input modes (Topic / Outline / Document), two AI engines (Gemini + Qwen), a multi-stage generator (v3) with planning, layout selection, content drafting and a deterministic linter that auto-retries Stage 1 if the output is structurally invalid. Every generation runs as an async BullMQ job so the UI stays responsive and credits are atomically refunded on failure.
A TanStack Start + React 19 visual editor with auto-save, drag-to-reorder slide thumbnails, AI Smart Slide Generation (one-click insert that reads surrounding context), per-slide background variants (default / accent / gradient / dark), font + primary-colour theming, and an Add-Block popover that exposes 25+ block types — heading, paragraph, list, quote, image, code, callout, stats, features, comparison, chart (bar / line / pie / donut), timeline, progress, quiz, steps, math, mermaid, QR, countdown, badge, divider, and more.
Fullscreen presenter mode with a separate speaker view (current slide + speaker notes + next slide preview), virtual laser pointer, presentation timer, keyboard shortcuts. "Go Live" opens a real-time audience-sync session — viewers' browsers track with the presenter, and the audience can submit Q&A in-flight. After the talk, the analytics page shows total views, unique visitors, average duration, completion rate, device split, traffic source split, and a per-slide dwell-time heatmap so you know exactly which pages worked.
Better Auth (Google OAuth), Stripe-billed subscriptions and one-time credit packs, Cloudflare R2 for image uploads with presigned URLs, Cloudflare Turnstile CAPTCHA, Sentry for error tracking, a webhook-driven credit-grant system, daily-free-credit drops, a referral program (20 to invitee, 10 to referrer), and a translation script that uses Gemini to keep all 17 locales in sync from a single English source.
Frontend: React 19 + TanStack Router / Query / Form / Start, Tailwind CSS 4, shadcn/ui, Framer Motion, Vite.
Backend: Bun + Hono + Drizzle ORM, Zod schemas, Hono RPC for the typed client.
Database: PostgreSQL (Neon in production).
Queue: BullMQ + Redis — async AI jobs with atomic credit refunds on failure.
Auth: Better Auth (Google OAuth).
Payments: Stripe — subscriptions + credit packs + webhook-driven granting.
AI: Google Gemini + Qwen, dual-engine fallback.
Storage: Cloudflare R2 with presigned uploads.
Ops: Sentry, Bull Board admin UI, Pino structured logging, Docker Compose for self-hosted deploys.