Skip to content

amxv/presentation-ai

Repository files navigation

AI Presentation Maker

AI Presentation Maker turns long-form source material into fully designed slide decks. Paste a research paper, meeting notes, strategy memo, or rough outline, choose a format and visual direction, and the app generates a presentation with narrative structure, themed slides, editing tools, presentation mode, and PDF export.

This repo ships the full web application: authenticated dashboard, real-time generation flow, editable slide previews, Cloudflare R2 asset storage, and a two-stage AI pipeline that separates presentation planning from final slide rendering.

What It Does

  • Converts raw source material into complete presentations instead of filling a template.
  • Supports two deck styles: Presenter Slides for live delivery and Detailed Deck for standalone reading.
  • Uses a two-stage AI pipeline:
    • a reasoning model plans the narrative, slide structure, and design theme
    • an image model renders each slide as a complete visual composition
  • Tracks generation progress in real time with per-slide status.
  • Lets users regenerate slides with natural-language edit instructions and undo changes.
  • Exports completed decks as landscape PDFs.
  • Includes fullscreen presentation mode for live delivery.

Architecture

Feature Overview

The high-level product walkthrough lives in docs/feature-overview.md.

It covers:

  • input workflow and supported presentation formats
  • the two-stage generation pipeline
  • editor, retry, undo, presentation mode, and PDF export flows
  • storage, auth, and resilience architecture

Getting Started

Prerequisites

  • Node.js 18+
  • Bun
  • PostgreSQL database
  • Cloudflare R2 bucket
  • DeepInfra API key
  • Runware API key

Installation

  1. Clone the repository:
git clone https://github.com/amxv/presentation-ai.git
cd presentation-ai
  1. Install dependencies:
bun install
  1. Create .env.local with the required variables:
# Authentication
BETTER_AUTH_SECRET=""
BETTER_AUTH_URL="http://localhost:3000"
NEXT_PUBLIC_BETTER_AUTH_URL="http://localhost:3000"

# Database
DATABASE_URL=""

# Cloudflare R2
R2_ACCOUNT_ID=""
R2_ACCESS_KEY_ID=""
R2_SECRET_ACCESS_KEY=""
R2_BUCKET_NAME=""
R2_PUBLIC_BASE_URL=""

# AI providers
DEEPINFRA_API_KEY=""
RUNWARE_API_KEY=""
  1. Push the schema:
bun run db:push
  1. Start the dev server:
bun run dev

Open http://localhost:3000.

Notes

  • The app is built around authenticated usage and per-user presentation ownership.
  • tmp/ is intentionally gitignored for local generated assets and scratch outputs.
  • If you want the fuller product rationale and UX behavior, start with docs/feature-overview.md.

License

Apache License 2.0. See LICENSE.

About

AI presentation maker that turns documents, notes, and research into fully designed slide decks

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors