A deck from a prompt is a small pipeline: the model writes an outline, then each slide as structured JSON, a renderer lays it out from a handful of templates, and PDF and PowerPoint come out the other end. An agent builds a working version in a weekend. The gap is polish: Gamma's layouts adapt to the amount of text, its themes keep a deck looking designed, and its image models fill the pictures. A homemade version makes plain decks you tune by hand unless you invest in the design system, and PowerPoint export fidelity is soft even in Gamma.
Before you buildGamma's Free plan gives 400 starting credits that never refill, enough for a few decks. Exports carry a Gamma badge, but the help center says printing from the browser while signed in has none.
Build me a local AI deck generator to replace Gamma. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite. `npm start` serves http://127.0.0.1:5400. - Model: `@anthropic-ai/sdk`, with ANTHROPIC_API_KEY and MODEL in .env and an optional OPENAI_BASE_URL for any OpenAI-compatible endpoint. Step one returns an outline (title plus 6 to 15 sections with a one-line intent each) that the user can reorder and edit. Step two turns each section into a slide as JSON validated with `zod`; invalid output is retried once with the validation error. - Slide schema: layout (title, bullets, two-column, image-left, image-right, quote, big-number, comparison table), heading, body blocks, speaker notes and an image query. Keep the schema in one file. - Renderer: one React component per layout at 16:9 using CSS variables, three built-in themes (light, dark, serif) and a theme editor for colours, a Google Fonts family and a logo. Overflowing text shrinks stepwise to a floor, then the slide is flagged. - Images: optional. UNSPLASH_ACCESS_KEY fetches photos, or point at an image-model endpoint in .env. Cache files in ./data/images and always store the credit line. - Editing: click any text to change it; per-slide buttons "shorten", "change layout" and "regenerate" send only that slide to the model. - Storage: better-sqlite3 in ./data/decks.db with decks, slides (JSON) and a version row per edit for undo. - Present and export: full-screen mode with arrow keys and speaker notes on `P`; PDF through Playwright's page.pdf; PPTX through `pptxgenjs` using real text boxes, not screenshots. - No accounts, no telemetry, local-first: only calls to your model and image endpoints leave the machine, and the README lists what is sent. - Out of scope: live collaboration, shared links and analytics, custom domains, PowerPoint import, mobile apps. README: setup, the .env keys, and a warning that PPTX output differs slightly from the screen.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Gamma.
Add a brand importer to the deck generator in this folder. Requirements: - A form takes a website URL, fetches the page (`undici`) and parses it with `cheerio`. - Extract the logo (apple-touch-icon, og:image or an inline SVG), the most-used colours from the CSS and the heading font family, and show them as a theme preview. - Nothing is saved until you accept; the result becomes a normal theme in the editor. - Fall back to the defaults for any value it can't find, and say which ones. - Update the README.
Add a presenter view to the deck generator in this folder. Requirements: - Opening /present/<id>/presenter shows the current slide, the next slide, speaker notes and an elapsed timer; the audience window at /present/<id> follows it through BroadcastChannel. - Keyboard: arrows move, `B` blanks the audience screen, `T` resets the timer. - Add an optional target duration and show whether you are ahead or behind it. - Update the README.
Add document import to the deck generator in this folder. Requirements: - Accept a PDF (`pdfjs-dist`), a Markdown file or pasted text, and extract the text with its headings. - Send the text to the model in chunks of about 3,000 words, ask for a summary outline of one section per chunk, then continue through the normal outline and slide steps. - Keep the source page or heading as a note on each slide. - Show an estimate of the token cost before anything is sent. - Update the README.
People pay to get a presentable deck in a minute from a rough idea and skip the blank page. Plus is $12 a month, the output shares as a link, and one tool covers decks, documents and pages, so nobody has to manage the design.
Estimate · No subscription: you pay tokens per deck, a few cents for text, more if you add image-model calls. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/workspace | $0/workspace | 400 credits at signup, 10 slides per prompt, simple decks, docs, websites, social posts and images. |
| Plus | $12 | $9 | 1,000 monthly credits, up to 100 slides per prompt, Gamma branding removed, advanced AI image models. |
| Pro | $25 | $18 | 4,000 monthly credits, premium AI image models, custom branding, analytics and advanced sharing, up to 10 custom domains, API access. |
| Ultra | $100 | $90 | 20,000 monthly credits, the most advanced text, image and video models, up to 100 custom domains, early access to new features. |
| Business | custom | — | 10,000 credits per seat per month; seats are bought up front. |
Free gives 400 credits at signup that don't refill, up to 10 slides per prompt, import from PDF and PPTX, and export to PDF, PPTX, PNG and Google Slides.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Layouts that adapt to the content, and themes that keep decks looking designed, Gamma's choice of AI image and video models, run on its credits.
About $12 a month on the Plus plan per seat, $144 a year (checked 2026-10-19).
Layouts that adapt to the content, and themes that keep decks looking designed; Gamma's choice of AI image and video models, run on its credits; Publishing with custom domains, analytics and advanced sharing; Card-by-card AI editing tuned on its own prompts and slide structure; Import from PDF and PowerPoint, an API, and Zapier-style connections. If any of those matter to you, keep paying.
Yes: Presenton (open source), Slidev (open source), reveal.js (open source).