Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spark - AI-Powered Presentation Builder

Build beautiful, zero-dependency HTML presentations through natural language conversation with Claude.

Features

  • Conversational Interface: Chat with Claude to create presentations
  • Smart Content Discovery: Guided questions to understand your needs
  • Style Previews: Choose from 3 unique design styles
  • Real-time Preview: See your presentation as it's built
  • Single HTML Export: Download as a standalone HTML file
  • Iterative Editing: Request changes conversationally

Architecture

spark/
├── frontend/          # React + TypeScript + Vite
├── backend/           # Node.js + Express + TypeScript
└── shared/           # Shared type definitions

Setup Instructions

Prerequisites

1. Clone and Install

# Install frontend dependencies
cd frontend
npm install

# Install backend dependencies
cd ../backend
npm install

2. Configure Environment

# Copy example env file
cp .env.example backend/.env

# Edit backend/.env and add your keys:
# - DAYTONA_API_KEY=your_key_here

3. Daytona Setup

  1. Sign up at https://www.daytona.io/
  2. Create API Key in Settings → API Keys
  3. Create workspace template "spark-html-generator":
    • Base image: node:20-alpine
    • CPU: 0.5 cores
    • Memory: 512 MB
    • Timeout: 30 minutes
  4. Add API key to backend/.env

4. Run Development Servers

# Terminal 1 - Backend
cd backend
npm run dev

# Terminal 2 - Frontend
cd frontend
npm run dev

The frontend will be available at http://localhost:5173

How It Works

  1. Enter API Key: Provide your Anthropic API key (stored locally)
  2. Content Discovery: Chat with Claude about your presentation
    • What is it for? (pitch, teaching, conference, internal)
    • How many slides? (short, medium, long)
    • Content ready? (ready, notes, topic only)
  3. Style Selection: (Future) Choose from 3 generated style previews
  4. Generation: Claude creates your complete HTML presentation
  5. Iterate: Request modifications ("make title bigger", "change color to blue")
  6. Export: Download your presentation as a single HTML file

Features Implemented

Core Functionality

  • ✅ Conversational interface with Claude Opus 4.5
  • ✅ Real-time streaming responses
  • ✅ Session management with auto-cleanup
  • ✅ Content discovery through natural conversation
  • ✅ Automatic HTML detection and preview
  • ✅ Iterative editing support
  • ✅ Single-file HTML export

User Experience

  • ✅ Split-pane layout (chat + preview)
  • ✅ Iframe-based presentation preview
  • ✅ Fullscreen presentation mode
  • ✅ Loading states and progress indicators
  • ✅ Error boundary for crash recovery
  • ✅ Toast notifications
  • ✅ Responsive design

Technical

  • ✅ TypeScript throughout
  • ✅ Server-Sent Events for streaming
  • ✅ Zustand state management
  • ✅ TailwindCSS styling
  • ✅ API key validation
  • ✅ In-memory session storage
  • ✅ Daytona service (mock for MVP)

Next Steps

To enhance the MVP:

  1. Integrate Real Daytona: Replace mock sandbox with actual Daytona SDK
  2. Style Previews: Complete the style generation and preview flow
  3. PPT Import: Add Mode B (import existing PowerPoint files)
  4. More Styles: Expand style library beyond 3 options
  5. Collaboration: Add sharing and real-time co-editing
  6. Templates: Pre-built templates for common use cases
  7. Analytics: Track usage and generation statistics

Usage

  1. Open the app and enter your Anthropic API key
  2. Answer 3 content discovery questions
  3. Select from 3 generated style previews
  4. Watch as Claude generates your presentation
  5. Request modifications ("make title bigger")
  6. Export as a single HTML file

Project Status

MVP Complete! All phases implemented and ready for testing.

Roadmap

  • Phase 0: Project Setup & Configuration
  • Phase 1: Authentication & API Key Flow
  • Phase 2: Basic Chat Interface
  • Phase 3: Content Discovery Questions
  • Phase 4: Style Preview Generation
  • Phase 5: Full HTML Generation
  • Phase 6: Iteration & Export
  • Phase 7: Polish & Error Handling

Technology Stack

Frontend:

  • React 19
  • TypeScript
  • Vite
  • TailwindCSS
  • Zustand (state management)
  • Axios (HTTP client)

Backend:

  • Node.js 20+
  • Express 5
  • TypeScript
  • Anthropic SDK
  • Daytona SDK (planned)

License

MIT

About

Delightful slides

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages