Presentations that inspire, in seconds
A powerful AI-powered presentation generator with professional themes, templates, and smart content creation. Compete with Gamma.app, Beautiful.ai, and Canva - but completely free and open source!
- π€ AI-Powered Generation: Paste your notes, agenda, or sermon outline - Claude creates professional slides automatically
- π€ Custom Template Upload: Upload your own .pptx templates and use them with AI or manual modes
- π¨ Premium Slide Types: Quote slides, Stats slides, and more (Gamma.app quality)
- π Dark/Light Mode: Toggle between light and dark themes for comfortable viewing
- π Smart Speaker Notes: AI generates comprehensive speaker notes for every slide
- β¨ AI-Powered Mode: Just paste your content - Claude structures everything (sermons, business, education)
- π 10 Professional Templates: Sermon, Board Meeting, Sales Pitch, QBR, and more
- π¨ 11 Beautiful Themes: Church, Corporate, Startup, Healthcare, Education, etc.
- π Smart Layouts: Automatic slide design with proper spacing and formatting
- π€ Large, Visible Text: Professional font sizes for easy reading
- π 6 Slide Types: Title, Content, Section, Two-Column, Quote, Stats
- π€ Custom Templates: Upload and use your own .pptx templates
- π Dark Mode: Comfortable viewing in any lighting condition
- Sunday Sermon - Scripture, points & application
- Board Meeting - Leadership & decisions
- Staff Meeting - Weekly coordination
- Quarterly Review - Executive QBR
- Sales Pitch - Product presentations
- Investor Pitch - Fundraising decks
- Campaign Review - Performance analysis
- Product Launch - GTM strategy
- Course Overview - Syllabus introduction
- Policy Briefing - Proposals & hearings
- Install dependencies:
pip install -r requirements.txt- Set up AI (optional but recommended):
# Copy the example environment file
cp .env.example .env
# Edit .env and add your Anthropic API key
# Get your API key from: https://console.anthropic.com/
ANTHROPIC_API_KEY=your_api_key_here- Run the app:
streamlit run app.py- Access in browser: Open http://localhost:8501
Note: AI-Powered mode requires an Anthropic API key. You can still use Quick Create, Template-Based, and Custom Template Upload modes without an API key.
-
Create a GitHub repository:
- Go to github.com
- Click "New repository"
- Name it
slidecraft - Make it public
-
Upload these files to your repo:
app.pyslidecraft_v5.pyrequirements.txtREADME.md
-
Deploy on Streamlit Cloud:
- Go to share.streamlit.io
- Click "New app"
- Connect your GitHub account
- Select your repository
- Set main file:
app.py - Click "Deploy"
-
Get your public URL:
- Format:
https://yourapp.streamlit.app - Share this link with anyone!
- Format:
-
Go to Streamlit Community Cloud:
- Visit share.streamlit.io
- Sign up/login
-
Upload files:
- Use drag-and-drop interface
- Upload all 4 files
-
Deploy:
- Click "Deploy"
- Get your public URL
- Select a theme from the sidebar
- Enter your presentation topic
- Paste your content: notes, agenda, sermon outline, scripture references, bullet points - anything!
- Choose presentation type (Sermon, Business, Education, General)
- Optionally specify target number of slides (or let AI decide)
- Click "Generate with AI"
- Download your professional presentation with speaker notes!
Example Input:
Topic: Walking in Faith
Content:
Scripture: Hebrews 11:1-6
Main Points:
1. Faith is substance - it's real and tangible
2. Faith pleases God
3. Faith requires action
Application:
- Trust God in one specific area this week
- Look for evidence of God's faithfulness
- Select a theme
- Enter your presentation topic
- Optionally add context (agenda, outline)
- Click "Generate Presentation"
- Download your .pptx file
- Select a category (Church, Business, etc.)
- Choose a template
- Fill in the required fields
- Click "Generate from Template"
- Download your .pptx file
- Click "Upload Template (.pptx)"
- Select your .pptx file
- View template analysis (slides, layouts, size)
- Template is saved for future use
- Coming soon: Use custom templates with AI generation
SlideCraft/
βββ app.py # Streamlit web interface (with AI mode)
βββ slidecraft_v5.py # Core presentation engine (6 slide types)
βββ ai_generator.py # AI content generation using Claude
βββ requirements.txt # Python dependencies
βββ .env.example # Environment variables template
βββ .gitignore # Git ignore rules
βββ README.md # This file
βββ AI_UPGRADE_PLAN.md # Development roadmap
βββ IMPROVEMENTS.md # Changelog
βββ templates/
βββ custom/ # User-uploaded templates (created on first upload)
- π» Software Professional - Tech/Enterprise
- βͺ Church Warmth - Ministry presentations
- π Startup Vibrant - Bold & energetic
- πΌ Executive Minimal - Clean C-suite style
- π Creative Bold - Vibrant creative
- π» Tech Modern - Modern SaaS
- π₯ Healthcare Trust - Medical presentations
- π Education Friendly - Approachable learning
- π° Finance Corporate - Conservative finance
- π’ Marketing Dynamic - Eye-catching marketing
- π€ Nonprofit Warm - Compassionate nonprofits
- Python Version: 3.8+
- Main Libraries:
- python-pptx (PowerPoint generation)
- anthropic (Claude AI integration)
- streamlit (web interface)
- python-dotenv (environment variables)
- AI Model: Claude Sonnet 4.5 (claude-sonnet-4-20250514)
- Output Format: .pptx (compatible with PowerPoint & Google Slides)
- Slide Format: 16:9 Widescreen
- Slide Types: Title, Content, Section, Two-Column, Quote, Stats
- Title Slides: 66pt (main title), 32pt (subtitle)
- Content Headers: 44pt
- Bullet Points: 26pt
- Section Headers: 54pt
Edit slidecraft_v5.py and add to ThemeGallery.THEMES:
'your_theme': Theme(
'Your Theme Name', 'Description',
{
'primary': '#HEX_COLOR',
'primary_light': '#HEX_COLOR',
'secondary': '#HEX_COLOR',
'accent': '#HEX_COLOR',
'accent_light': '#HEX_COLOR',
'light': '#HEX_COLOR',
'text': '#HEX_COLOR',
'text_light': '#HEX_COLOR'
},
{'heading': 'Font Name Bold', 'body': 'Font Name'},
'style_keyword'
)Add to TEMPLATE_LIBRARY in slidecraft_v5.py:
'template_id': {
'name': 'Template Name',
'category': 'category_name',
'description': 'Brief description',
'theme': 'default_theme',
'slides': [
{'type': 'title', 'title': '{field_name}', 'subtitle': '{field_name}'},
{'type': 'content', 'title': 'Slide Title', 'bullets': [
'{field_name}',
'{field_name}'
]}
]
}| Feature | SlideCraft | Gamma.app | Beautiful.ai | Canva |
|---|---|---|---|---|
| AI Content Generation | β Claude Sonnet 4.5 | β | β | β |
| Custom Template Upload | β | β | β | β |
| Offline Use | β | β | β | β |
| Free & Open Source | β | β ($8-40/mo) | β ($12-50/mo) | β (Freemium) |
| Professional Themes | β 11 | β | β | β |
| Speaker Notes | β AI-generated | β | β | β |
| PowerPoint Export | β Native | β | β | β |
| Privacy | β Self-hosted | β Cloud | β Cloud | β Cloud |
| No Login Required | β | β | β | β |
SlideCraft Advantages:
- 100% free, unlimited presentations
- Run locally or deploy to your own server
- Your data never leaves your infrastructure (when self-hosted)
- Fully customizable code - add your own features
- No monthly subscription fees
- Upload and use your organization's official templates
Issue: AI generation fails
- Solution: Check your API key in .env file. Verify you have credits at https://console.anthropic.com/
- Solution: Check error message - may need to reduce content length or adjust number of slides
Issue: API key not detected
- Solution: Make sure .env file is in the same directory as app.py
- Solution: Restart the Streamlit app after creating/editing .env
- Alternative: Enter API key directly in the UI (will need to re-enter each session)
Issue: Fonts look different
- Solution: Install the fonts on your system or update theme fonts in the code
Issue: Slides not downloading
- Solution: Check browser download settings and popup blockers
Issue: Template fields not populating
- Solution: Ensure all required fields are filled in before generating
Issue: Custom template upload not working
- Solution: Ensure the file is a valid .pptx file
- Solution: Check that you have write permissions in the templates/custom/ directory
For issues or questions:
- Check this README
- Review the code comments in
slidecraft_v5.py - Test locally before deploying
Free to use and modify for personal and commercial projects.
Built with:
- Anthropic Claude: AI content generation (Claude Sonnet 4.5)
- python-pptx: PowerPoint generation
- Streamlit: Web interface
- Pillow: Image processing
- python-dotenv: Environment variable management
SlideCraft v5.0 - Presentations that inspire, in seconds β¨